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];
}
}];