iOS开发之Appstore篇——版本更新
1.版本更新方法
+ (void)updateWithAPPID:(NSString *)appid back:(void (^)(NSString *, NSString *, NSString *, BOOL))back{ NSDictionary *infoDic = [[NSBundle mainBundle] infoDictionary]; __block NSString *currentVersion = infoDic[@"CFBundleShortVersionString"]; __block NSString *appstoreVersion = currentVersion; [self httpToolRequestWithUrlStr:nil baseUrl:[NSString stringWithFormat:@"http://itunes.apple.com/cn/lookup?id=%@",appid] method:GETSTR parameters:nil completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) { if (responseObject) { NSArray *results = responseObject[@"results"]; NSDictionary *lastDict = [results lastObject]; appstoreVersion = lastDict[@"version"]; NSString *appstoreUrl = lastDict[@"trackViewUrl"]; if (![currentVersion isEqualToString:appstoreVersion]) { if (back) { back(currentVersion,appstoreVersion,appstoreUrl,YES); } }else{//不更新 if (back) { back(currentVersion,appstoreVersion,nil,NO); } } }else{//不更新 if (back) { back(currentVersion,appstoreVersion,nil,NO); } } }]; }
2.页面更新提示
[HttpTool updateWithAPPID:@"你的appid" back:^(NSString *currentVersion, NSString *storeVersion, NSString *openUrl, BOOL isUpdate) { if (isUpdate) { UIAlertController *alertVC = [UIAlertController alertControllerWithTitle:@"版本更新" message:@"app更新了,赶快去更新啦!" preferredStyle:UIAlertControllerStyleAlert]; UIAlertAction *affirAction = [UIAlertAction actionWithTitle:@"更新" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { [[UIApplication sharedApplication]openURL:[NSURL URLWithString:openUrl]]; }]; UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"暂不更新" style:UIAlertActionStyleCancel handler:nil]; [alertVC addAction:affirAction]; [alertVC addAction:cancelAction]; [self.window.rootViewController presentViewController:alertVC animated:YES completion:nil]; } }];
将来的自己,会感谢现在不放弃的自己!