首页 > 代码库 > iOS 7.1下itms-services在线安装失败的解决方法

iOS 7.1下itms-services在线安装失败的解决方法

前段时间,接到客户的求助,主要是关于无法通过safari在线安装企业级应用的问题。经过一系列测试都没有发现相同现象,最后发现客户使用了还原的功能,把iPad的iOS升级到了7.1。网上搜索了一下,发现从iOS7.1开始,之前使用itms-services://URL方式在线安装ipa文件的方法都失效了,主要表现为在点击安装的时候,会报错为:“无法安装应用程序,因xxx.com的证书无效”。
 
主要原因是苹果公司在iOS 7.1中修改了manifest.plist文件的访问协议,把原来的http协议访问,升级到了https协议访问。对此,需要我们自己修改原先的访问协议。
 
比如之前的链接代码为:
    itms-services://?action=download-manifest&url=http://example.com/manifest.plist
 
在iOS 7.1之后,就需要修改为:
    itms-services://?action=download-manifest&url=https://example.com/manifest.plist
 
另外,需要一个SSL证书才能够实现在线安装ipa文件的功能。
 
虽然网上看到有人用自签名的SSL证书实现了在线安装,自己目前尚未实现,有待研究。