博客> 1.iOS APP 不依靠服务器 异步 版本更新提示怎么做__详谈(OC)
1.iOS APP 不依靠服务器 异步 版本更新提示怎么做__详谈(OC)
2018-08-15 06:02 评论:2 阅读:734 wanglelewang
ios 异步 版本更新

目前来说苹果发文禁止做app版本提示,但是虽然这么说 ,我觉得它不是不让做,只是为了禁止乱弹提示框而已,如果做的好,它还是可以让通过审核的。。 步入正题,直接上代码:

#pragma mark - testVersion 版本更新------检查

`- (void)checkVersion{// 当前版本NSString* curVersion = CurrentAppVersion;//此处是本人的宏定义方法

//#define CurrentAppVersion [[[NSBundle mainBundle] infoDictionary] //objectForKey:@"CFBundleShortVersionString"]
block BOOL needUpdate; block NSString updateVersion; dispatch_queue_t globalQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_async(globalQueue, ^{// 获取appstore上面的版本号updateVersion NSString string = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"https://itunes.apple.com/lookup?id=xxxxxxxx"] encoding:NSUTF8StringEncoding error:nil]; if (string && [string length]>0 &&[string rangeOfString:@"version"].length == 7) { updateVersion = [string substringFromIndex:[string rangeOfString:@"\"version\":"].location+10]; updateVersion = [[updateVersion substringToIndex:[updateVersion rangeOfString:@","].location] stringByReplacingOccurrencesOfString:@"\"" withString:@""]; } needUpdate = [self compareCurVersion:curVersion WithUpdateVerion:updateVersion]; dispatch_async(dispatch_get_main_queue(), ^{ if (needUpdate) { [self updateVersionFromWeb:updateVersion]; } }); });

} - (BOOL)compareCurVersion:(NSString)version1 WithUpdateVerion:(NSString)version2{//其实这里有另一个 NSArray versionArray1 = [version1 componentsSeparatedByString:@"."]; NSArray versionArray2 = [version2 componentsSeparatedByString:@"."]; for (NSInteger i = 0; i [versionArray2[i] integerValue]) { return 0; } } return 0; } // 个人有轻微强迫症,提示框用的是自己封装的,系统的白框框,蓝色字体太难看 - (void)updateVersionFromWeb:(NSString)updateVersion{ CustomEnsureAlertView alert = [CustomEnsureAlertView new]; [alert showWithTitle:[NSString stringWithFormat:@"发现新版本%@,建议更新咯!\n感谢使用---!\n更多优``惠在等你

收藏
1
sina weixin mail 回到顶部