美文网首页
App版本检查更新

App版本检查更新

作者: 追梦小怪兽 | 来源:发表于2020-02-26 17:13 被阅读0次
  • 之前都是通过后台的api来判断是否需要弹窗提醒用户更新App,但是会有一个问题,我这边发了新版本之后,没有及时对接后台,导致后台没有更新api的返回参数。还有就是更新文案这些。比较麻烦,后面就看了一下可以直接通过iTunes的连接来做这个版本更新,信息还比较全,不依赖后台。方便快捷。

  • 只要App更新并且被App Store收录之后了,就可弹窗。

  • 具体代码如下:

1.需要准备你的App版本更新的url,通过url去获取你需要的数据:http://itunes.apple.com/lookup?id=你的AppID
由于发布了新版本,但是接口没有拿到最新的版本号。这个url 需要注意下:如果你的应用是只发布到中国区那么接口需要添加 /cn:
http://itunes.apple.com/cn/lookup?id=你的AppID
如果没有拿到数据,或者没有拿到最新数据。需要用https,所以最后用下面的接口(modify 2020年05月12日09:57:00)
https://itunes.apple.com/lookup?id=你的AppID

    NSString *url = url // 这里的url是你上面准备的那个url;
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    manager.requestSerializer = [AFJSONRequestSerializer serializer];
    manager.responseSerializer = [AFJSONResponseSerializer serializer];
    manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/javascript", nil];

    [manager POST:url parameters:nil progress:^(NSProgress * _Nonnull uploadProgress) {
        
    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        NSString *newVersion = responseObject[@"results"][0][@"version"];//获取版本号
//        NSLog(@"%@",responseObject);
        BOOL result = [self compareVersionWithNewVersion:newVersion];
        if (result) {
            // 需要更新
            // 进行弹窗
        }else{
            NSLog(@" 已经是最新版本");
        }
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        
    }];
  1. 这里会有一个版本号的对比
- (BOOL) compareVersionWithNewVersion:(NSString *) newVersionStr{
    //从info.plist文件获取Version
    NSString *version = [[[NSBundle mainBundle] infoDictionary]objectForKey:@"CFBundleShortVersionString"];
    NSInteger localVersion = [[version stringByReplacingOccurrencesOfString:@"." withString:@""] integerValue];
    //最新版本号
    NSInteger newVersion = [[newVersionStr stringByReplacingOccurrencesOfString:@"." withString:@""] integerValue];
    //这里的话,版本号可能类似:1.2,1.2.1,(如果是1.2.22 和 1.3 这样的比较需要注意补齐位数)
    newVersion = newVersion < 100 ? newVersion *= 10 : newVersion;
    localVersion = localVersion < 100 ? localVersion *= 10 : localVersion;
    
    return localVersion < newVersion ? 1 : 0;
}
  • 再也不用麻烦后台大佬了。

---来自涛胖子的工作笔记

相关文章

  • ionic2实现APP自动更新

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

  • APP检查版本更新

    一、检测更新 二 、UIAlertViewDelegate代理

  • App版本检查更新

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

  • iOS检测版本更新

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

  • iOS 检查App版本更新

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

  • App版本检查跳转更新

    获取最新版本 从自己服务器获取最新版本号 从自己服务器上获取没什么好说的,自家的约定好就行。 从苹果服务器获取最新...

  • iOS APP检查版本更新

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

  • iOS APP检查版本更新

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

  • iOS 检查App版本更新

  • App检查更新初探

    功能:App版本迭代,使用户更新app版本,体验最新功能 检查更新请求位置问题 技术选型:用Service还是Th...

网友评论

      本文标题:App版本检查更新

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