转自:https://douxinchun.github.io/blog/20150722/distribute-ipa-by-itms-services.html
苹果允许用itms-services协议来直接在iphone/ipad上安装应用程序,我们可以直接生成该协议需要的相关文件,这样产品经理和测试都可以直接在设备上安装新版的应用:
需要两个文件,一个是html,另一个是plist。
文件index.html(请自动忽略css部分,我实在不会写前端):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
文件plist:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
|
注意
在iOS7.1之前,协议地址后的url需要使用http协议,
itms-services://?action=download-manifest&url=http://********/**/tue_test.plist
在iOS7.1以及以后,这里需要换成https协议,
itms-services://?action=download-manifest&url=https://********/**/tue_test.plist
否则使用Safari安装的时候,会提示”无法安装应用程序,因为“xx.xx.xx” 的证书无效;无法找到主机”1.2.3.4”“之类的错误.也就是说,原先存放plist的web服务器需要支持https协议.
自己动手搭建一个https的web服务的话,其中证书的部分很令人头痛的.我在IIS上整了一个上午,最后的结果上自己生成的证书Safari不认.我去,果断放弃这条路,google了一个简便的方法.利用开源中国(http://git.oschina.net/)提供的代码托管服务,托管一下plist文件,然后ipa的安装包和index.html依旧放在自己的服务器上.itms-services协议后面的url地址,改成在plist文件在开源中国上的url(注意url结束到.plist为止,后面的那一串参数不要带,直接手动把http改为https).
具体的流程参见这里,http://blog.csdn.net/sy_bz/article/details/33739779
同理,我觉得github也应该可以代替开源中国.
附
plist中的字段说明:
key值 | 说明 |
---|---|
assets | |
software-package url | 要安装的 ipa 地址 |
display-image url | 安装ipa的时候,桌面显示呃图标 |
metadata | |
bundle-identifier | bundle ID (和ipa保持一致) |
bundle-version | CFBundleVersion(和ipa保持一致) |
title | 用户点击时弹框中的AppTitle提示 |
subtitle | 不明,应该 也跟弹框的内容相关 |
以备后用
自搭https服务器,可以查看的参照:http://zengrong.net/post/2108.html