IOS检查应用更新

使用这个方法,只传入你的appId即可,在只有需要更新时才做处理。

不依赖三方,不依赖后台

/* 随便可修改的block */typedef void(^completionHandlerSuccess)(NSDictionary *responseObject);typedef void(^completionHandlerFail)(int code,NSString *message);

/** 根据appid获取appstore上app的版本和当前app的版本进行对比,检查更新 @param appId app上架后的id @param success @param fail */- (void)checkAppVersionWithAppId:(NSString *)appId Success:(completionHandlerSuccess)success andFail:(completionHandlerFail)fail{ NSString *url = [NSString stringWithFormat:@"http://itunes.apple.com/lookup?id=%@",appId]; NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfiguration defaultSessionConfiguration]; NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfig]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url] cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:20]; [request setHTTPMethod:@"GET"];//method NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) { NSDictionary *result = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:&error]; NSLog(@"apiJsonResult = %@",result); id responseObject = result; if (responseObject != nil && [responseObject isKindOfClass:[NSDictionary class]] && [[responseObject objectForKey:@"results"] isKindOfClass:[NSArray class]] && [[responseObject objectForKey:@"results"] firstObject] !=nil && [[[responseObject objectForKey:@"results"] firstObject] isKindOfClass:[NSDictionary class]]) { //返回的json信息 NSDictionary *appStoreInfo = [[responseObject objectForKey:@"results"] firstObject]; //当前app信息 NSDictionary *localInfo = [[NSBundle mainBundle] infoDictionary]; //app在appstrore上版本 NSString *appStoreVersion = [appStoreInfo objectForKey:@"version"]; //app当前版本 NSString *localVersion = [localInfo objectForKey:@"CFBundleShortVersionString"]; if ([appStoreVersion isEqualToString:localVersion]) { fail(0,@"暂无更新"); }else{ NSDictionary *updateInfo = @{@"title":@"应用更新", //标题 @"version":appStoreVersion, //版本 @"notes":[appStoreInfo objectForKey:@"releaseNotes"], //版本更新描述 @"url":[appStoreInfo objectForKey:@"trackViewUrl"], //app页url }; success(updateInfo); } } }]; [task resume];}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容