由于公司项目使用的是企业证书,所以就打算使用OTA的方式来进行App的分发安装。摸索了一个早上,记录下方法:
首先你得有一个ipa包,一个plist文件。最重要的就是https的服务器。
Plist文件的样式如下:
<?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://xxx.com/.../xxx.ipa(ipa文件的url地址)</string>
</dict>
<dict>
<key>kind</key>
<string>display-image</string>
<key>needs-shine</key>
<true/>
<key>url</key>
<string>应用icon地址</string>
</dict>
<dict>
<key>kind</key>
<string>full-size-image</string>
<key>needs-shine</key>
<true/>
<key>url</key>
<string>应用大icon地址</string>
</dict>
</array><key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>com.xxxx.xxx (应用的id, 要和ipa文件里的一样)</string>
<key>bundle-version</key>
<string>1.0.0</string>
<key>kind</key>
<string>software</string>
<key>subtitle</key>
<string>应用的名称</string>
<key>title</key>
<string>应用的名称</string>
</dict>
</dict>
</array>
</dict>
</plist>
复制代码
将此plist文件和ipa文件上传到服务器上面,获取到plist的地址:https://xxx.com/xxx.plist
然后新建一个html文件,通过a标签进行下载:
<a href="itms-services://?action=download-manifest&url=https://xxx.com/xxx.plist">Install App</a>
最后使用浏览器(Safari)打开下载即可
坑
- 测试的时候可以使用dropbox,不过需要科学上网了。。将Plist,ipa还有其他相关文件上传到dropbox后,获取到共享链接后,需要将共享链接的
www.dropbox.com
改成dl.dropboxusercontent.com
,并且去掉?dl=
这些参数(去除所有参数)。亲测加上参数后是没办法获取到下载链接的 - 国内的七牛云又拍云等也有提供https,但是都好麻烦。。会科学上网的还是用dropbox好了。。
- 据同事说,上传到阿里云后的访问链接都会加上各种参数,比方说过期时间等,导致没办法下载。这个我自己没有测试过。不过应该所有文件的链接都不能带上参数,不然好像会识别不了。这点需要注意。
- 如果出现'Cannot connect to server'这样的提示的话,可能就是文件无法访问或者是SSL证书的问题的,切记链接一定要在https下面,且证书有效的。