个人开发者帐号+wireless install 实现非app store程序的在线更新功能

来源:互联网 发布:论文统计学分析软件 编辑:程序博客网 时间:2024/05/01 20:19

转自:http://www.cocoachina.com/bbs/read.php?tid-61853-keyword-%B8%FC%D0%C2.html


个人开发者帐号+wireless install 实现非app store程序的在线更新功能   

公司有个客户,程序不上app store,但是需要有在线更新的功能。
因为公司的企业级帐号还没申请下来,没法搭建自己的发布平台。
好在客户正好只有100台客户端的安装需求,昨天研究了一个下午,发现利用个人开发者帐号也能基本实现该功能。
分享下实现方法,用得着的兄弟可以参考下~ (高手绕行)



一:在app中添加检测版本号的代码
         调用查询最新版本号的web 服务, 拿到后与本地的版本号进行对比,如不一致则提示用户进行更新,用户确定更新后,运行类似以下的代码:
?
1
2
3
4
5
  
 
NSString*urlString = @"itms-services://?action=download-manifest&url=http://68.245.171.115:50352/apps/WirelessApp.plist";
 NSURL*url  = [NSURLURLWithString:urlString];
 [[UIApplication sharedApplication] openURL:url];


二:Wireless Distribution 
      目的:1: 将证书文件和程序一起打包到ipa文件中,这样设备就不需要单独安装证书描述文件了。
                  2: 将无线安装时需要的地址等信息添加到配置文件中;

使用Build And Archive 编译程序
  
 


在Organizer 里可以找到最新编译过的程序

 


点击Share , 并选定好需要打包的证书文件

 


点击 Distribute for Enterprise, 出现以下画面,在url里填写需要发布的url地址,以及程序名。(这两项是必须的),然后点击保存。

 



系统会自动生成以下两个文件(.plist的文件是发布时浏览器直接访问的)

 



三、发布
   1:将生成的ipa文件和plist文件添加到对应的IIS路径中.
   2:  在页面添加类似以下的代码, 这样就可以直接给客户这个页面的地址,让他去在线安装了
   
?
1
2
 <a href="itms-services://?action=download-manifest&url=http://68.245.171.115:50352/apps/WirelessApp.plist">在线安装 WirelessApp</a>[font=courier, c*****olas, monospace][color=#666666][size=1]
[/size][/color][/font]





参考文档:http://developer.apple.com/library/ios/#featuredarticles/FA_Wireless_Enterprise_App_Distribution/Introduction/Introduction.html%23//apple_ref/doc/uid/TP40009979-CH1-SW2