IOS开发-设置APP自动更新

iOS程序自动提示更新的实现方案大致分为两种:第一种,自己服务器提供一个接口,告知相关app的当前版本,是否需要更新,以及更新的地址等信息 。第二种,就是利用苹果的appstore 提供的相关api进行查询更新。 由于此前没有找到iOS程序更新的方法,就用了第一种方式,但后来发现了一些问题,自己提供服务器,需要维护,程序提交更新后,由于苹果需要审核,中间会有时间差,这个时间不好把握。后台就找苹果的相关文档,终于找到了。 http://www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.html 实现机制:#define APP_URL @" http://itunes.apple.com/lookup?id=你程序的appId "  ASIFormDataRequest *formRequst = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:APP_URL]];请求网络数据,返回的大致数据如下,其他还有好多数据,我们把关键的给截取出来{      resultCount = 1;      results =     (                  {              artistId = 开发者 ID;              artistName = 开发者名称;             price = 0;             isGameCenterEnabled = 0;              kind = software;              languageCodesISO2A =             (                  EN              );             trackCensoredName = 审查名称;              trackContentRating = 评级;              trackId = 应用程序 ID;              trackName = 应用程序名称";              trackViewUrl = 应用程序介绍网址;              userRatingCount = 用户评级;              userRatingCountForCurrentVersion = 1;              version = 版本号;              wrapperType = software;       }      );  }  取得这些数据后关键的信息就是“ version”最新版本号和“ trackViewUrl”程序地址。然后与本地程序的版本比较即可。

上面的build 对应info.plist文件里的“Bundle version”字段,供程序调试用,即内部调试版本号,不是显示在appstore上面的version 对应info.plist文件里的“Bundle versions string, short”字段,这才是真正的版本号,显示在appstore上的。由于之前学习的时候,上网查资料,有好多人老是把这两个给弄混了,我也纠结了一会,特此说明一下,以备记忆。//获取appstore最新的版本号NSString *newVersion = [rightDic objectForKey:@"version"];
//获取应用程序的地址         NSString *newURL = [rightDic objectForKey:@"trackViewUrl"];      //取得本地程序的版本号    NSDictionary *localDic =[[NSBundle mainBundle] infoDictionary];             NSString *localVersion =[localDic objectForKey:@"CFBundleShortVersionString"];                        CCLog(@"appStore 版本号为:%@ 本地版本号为:%@",newVersion,localVersion);接下来便是比较,这两个版本号是否一致来决定是否更新。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值