通过 itms-services 协议,发布或者分享 iOS 应用程序
导读:itms-services 协议常用于 iOS 企业应用的无线部署,这可在不使用 iTunes 的情况下将内部软件发布或者分享给用户。
一、前期准备资料:
1、应用程序 (.ipa) 文件(使用了企业级预置描述文件);
2、清单 (.plist) 文件(xml格式的清单描述文件)。
二、准备清单 (.plist) 文件:
我们的清单文件时一个xml格式的文件,可以参考如下代码:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>items</key>
<array>
<dict>
<key>assets</key>
<array>
<dict>
<key>kind</key>
<string>software-package</string>
<key>url</key>
<string>http://domain/app.ipa</string>
</dict>
<dict>
<key>kind</key>
<string>display-image</string>
<key>needs-shine</key>
<true/>
<key>url</key>
<string>http://domain/logo/logo.png</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>domain</string>
<key>bundle-version</key>
<string>1.0.0</string>
<key>kind</key>
<string>software</string>
<key>subtitle</key>
<string>App Subtitle</string>
<key>title</key>
<string>App Title</string>
</dict>
</dict>
</array>
</dict>
</plist>
描述文件需要注意的三个地方:
1、两个 url 地址,即 software-package 和 display-image 的 URL,前者是所要安装的 ipa 地址,后者是安装时桌面显示的 logo 图标。
2、metadata里需要修改 bundle-identifier 和 bundle-version,具体是什么就不用介绍了,但是要注意一定要跟所安装的 ipa 包内容一致,不然无法安装成功。
3、可以修改title和subtitle,定制安装时弹出框的内容。
三、ipa格式应用的分享或者发布
可以使用以下两种方式提供下载:
第1种是点击下载,在网页中加入如下的链接就行了:
<a href="itms-services://?action=download-manifest&url=http://domain/manifest.plist">下载App</a>
备注:请勿使用应用程序 (.ipa) 的 Web 链接方式提供下载。当打开清单文件(manifest.plist)时,设备会下载该 .ipa。虽然 URL 的协议部分是 itms-services,但 iTunes Store 并不参与此过程。
第2种是通过JavaScript自动下载,参考代码:
<script>
var url = "http://domain/manifest.plist";
window.location = "itms-services://?action=download-manifest&url=" + url;
</script>
备注:此代码放到 html 标签的 head 标记中,这样就会自动提示下载和安装了。
四、设定服务器 MIME 类型
配置 Web 服务器的MIME 类型,以便正确地传输清单文件(.plist)和应用程序文件(.ipa)。
1、对于 OS X Server,将以下 MIME 类型添加到 Web 服务的“MIME Types”(MIME 类型)设置中:
application/octet-stream ipa
text/xml plist
2、对于 MS 的 IIS,使用 IIS Manager 在服务器的“属性”页面中添加 MIME 类型:
.ipa application/octet-stream
.plist text/xml
完结!
相关推荐
账号申请-发布问题-证书与配置文件申请-打包流程-appstore审核-Testflight方案-itms-services方案
您可以通过将自定义项添加到$protocols数组中来添加自己的协议。 使用上面的“下载”按钮下载插件。 复制到您的YOURLS安装根目录下的users/plugins 。 在“管理插件” YOURLS_ROOT/admin/plugins.php激活插件安装将...
tomcat 发布ios下载安装 和证书部署 tomcat 发布ios下载安装 和证书部署
主要利用vlloy进行的图片上传功能的实现
Android原生开发的QQ授权插件(arr包),可供Unity使用,使用方式可查看:https://blog.csdn.net/weixin_39809852/article/details/106564144
记录 itms-services,搭建 内网 ipa 安装网页的记录步骤,用于 ios 安装的包 构建完后的工作
//非零值表示key验证未通过 if (isError != 0) { //授权Key错误: Toast.makeText(YLC_APPLICATION.getInstance().getApplicationContext(), "请在 YLC_APPLICATION.java文件输入正确的授权Key,并检查您的...
描述文件会通过获取用户苹果设备的udid,然后把udid注册到苹果个人开发者账号下,再生成签名用的描述文件,给用户的苹果ipa包进行签名,最后传到Server,使用itms-services的方式让用户点击下载。 用户直接上传你的...
开发人员签名安装和使用设备上iOS签名实用程序的统一方法也许可行吗? itms-services://?action = download-manifest&url = itms-services://?action = download-manifest&url =
搭建ios企业开发者下载app环境 可以本地部署 也可以上传至外网。