iOS APP检查版本更新

作者: lingxuemy | 来源:发表于2016-04-15 15:11 被阅读2649次

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”程序地址。然后与本地程序的版本比较即可。

1.png

上面的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);

以下便是比较,这两个版本号是否一致来决定是否更新。

相关文章

  • iOS 检查App版本更新

    可以通过 iTunes 接口检查 App 版本更新,接口为: 请求返回数很多,其中重要信息如下: 然后通过当前Ap...

  • iOS APP检查版本更新

    iOS程序自动提示更新的实现方案大致分为两种:第一种,自己服务器提供一个接口,告知相关app的当前版本,是否需要更...

  • iOS APP检查版本更新

    在开发中,我们可能会遇到这样的需求,当AppStore中有新版本需要更新迭代,用户在点开APP的时候弹出提示框提醒...

  • iOS 检查App版本更新

  • 苹果审核被拒原因

    1.应用内包含检查更新内容 iOS 应用的版本更新必须通过 App Store 进行,自身 App 内不能包含提示...

  • iOS版本更新

    iOS APP版本 更新

  • ionic2实现APP自动更新

    app版本更新可以在应用的设置里面检查版本进行更新或者进入app后自动检查更新。我这里实现的是自动检查更新。 第一...

  • APP检查版本更新

    一、检测更新 二 、UIAlertViewDelegate代理

  • App版本检查更新

    之前都是通过后台的api来判断是否需要弹窗提醒用户更新App,但是会有一个问题,我这边发了新版本之后,没有及时对接...

  • iOS检测版本更新

    利用iTunes接口检查App版本更新

网友评论

  • VoiderSun:苹果审核的时候看见更新app字样不会给拒绝吗?
    lingxuemy: @VoiderSun 审核没那么严格,实在不行到时再改,多谢提醒
    VoiderSun:@lingxuemy 可能会被拒
    lingxuemy: @VoiderSun 还没有上线,所以还不清楚呢
  • HelloWordMax:好东西
    lingxuemy:@龙小刚 谢谢

本文标题:iOS APP检查版本更新

本文链接:https://www.haomeiwen.com/subject/jijnlttx.html