iOS企业版APP发布与版本更新
今天讲的主要是企业版app在自己服务器上进行包的管理和新版本更新.
iOS的APP安装不像安卓的包只要下载的链接是以.apk结尾,然后下载下来后就会自动提示安装,iOS是先下载下来一个plist文件,然后根据plist里边配置的链接进行下载的.
我先大概说一下下载安装的流程.首先检查到需要更新,然后点击更新后
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:
@"itms-services://?action=download-manifest&url=你的plist文件的下载链接"]];
itms-services://?action=download-manifest&url= 这句系统的一个协议命令。
然后系统会去下载这个plist,下载完成后会提示*****要安装**app,然后点击安装就会去下载并安装。流程大概就是这样。
1.plist文件的格式和怎么生成
在archive打包的时候,选择完证书之后的一个窗口下面有一个include--plist的一个选项,打上勾,然后会让你填下3个链接,一个包下载的链接,两个icon图片的链接.可以先随便写,打包完之后会带有这个plist,然后IPA上传完之后可以再修改plist里边的地址.把plist保存一份,后面发布的时候把新包的下载地址换成新的就行了,如果你们包的地址固定不变,就可以不用修改.IPA包的地址可以不是HTTPS的.icon图片的地址也不需要HTTPS.1、两个 url 地址,即 software-package 和 display-image 的 URL,前者是所要安装的 ipa 地址,后者是安装时桌面显示的 logo 图标。
metadata里需要修改 bundle-identifier 和 bundle-version,具体是什么就不用介绍了,但是要注意一定要跟所安装的 ipa 包内容一致,不然无法安装成功。可以修改title,定制安装时弹出框的内容。
2.服务端最好做一个admin控制平台,里边可以管理上传的包和查看上传完之后生成的地址链接,做成什么样可以参考一下七牛等一下云平台的上传下载管理.主要是方便控制是否强制更新,版本号等信息。上传完ipa和两个icon后,把这三个地址分别放倒plist的对应位置,然后再上传plist,生成plist的地址链接,注意:7.0之后这个plist的地址链接必须得是https的,否则会提示不安全的地址,不会安装app。
配置 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
这个也是必须的,如果plist下载时的content-type不对,无法做正确的引导安装。包的也一样。
3.做一个web页面,然后生成一个二维码,以便第一次安装的时候扫码安装,页面的样式可以参考蒲公英或者fir等平台的样式,在点击安装的时候触发item-servie的命令就行了。
关键点就是plist清单文件必须是https链接,下载时的type,openURL时前面拼接上item-service的协议命令。