IOS在线安装应用、应用升级

以前在IOS上做过应用升级功能,这里记录一下


公司使用的是苹果的Enterprise账号,所以可以不需要苹果的代码审核,直接放到网上供别人在线安装或下载安装


这是怎样实现的呢,苹果的safari支持 itms-services协议

苹果允许用itms-services协议来直接在iphone/ipad上安装应用程序,我们可以直接生成该协议需要的相关文件,这样产品经理和测试都可以直接在设备上安装新版的应用


首先说一下怎样实现在线安装功能

这里我们需要三个东西:

1.ipa文件

2.一个声明ipa位置的plist文件

3.一个指向该plist文件的连接


ipa文件和plist文件都可以通过xcode来生成的,步骤如下:

1.先给你的项目打包


然后在organizer里面选择刚才打包的项目,点解Distribute,选择Save for Enterprise or Ad Hoc Deployment

IOS在线安装应用、应用升级_第1张图片


下一步选择使用哪个证书发布


下面一步比较重要,选择你的ipa包和plist文件存放位置,下面的“Save for Enterprise Distribution”一定要选上,要不只会生成ipa,没有plist



保存后我们可以看到生成了ipa和plist

IOS在线安装应用、应用升级_第2张图片


打开plist文件我们可以看到一下的内容,红框部分就是我们ipa包的url连接地址

IOS在线安装应用、应用升级_第3张图片


最后,把你的plist文件发布到互联网上,提供一个能够给safari访问的url就可以了,这时候用户在ios设备上通过safari点击该连接,就能自动安装应用

连接的格式如下

itms-services://?action=download-manifest&url=http://127.0.0.1/test/Test.plist

具体items-services是怎样一种协议,大家有兴趣可以去百度一下


这里稍微总结一下这些ipa,plist是怎样的一个原理

IOS在线安装应用、应用升级_第4张图片


如果是想在程序中实现升级功能,核心的语句就是下面这条

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-services://?action=download-manifest&url=http://127.0.0.1/test/Test.plist"]];


你可能感兴趣的:(在线安装,程序升级)