比较版本
APP判断是否有新版本,一般有两种方法,一种是将本地版本号作为参数传给服务器,由后台判断当前用户的APP是否需要升级,以及强制更新;
另一种则是本地判断,直接和接口返回的版本号作对比。有新版本则弹窗提示用户更新。下面提供一个比较版本号的方法。类似:1.0.1这种。
//比较版本的方法,在这里我用的是Version来比较的
- (BOOL)compareVersionsBetweenAppStore:(NSString*)AppStoreVersion WithAppVersion:(NSString*)AppVersion{
BOOL result = false;
NSMutableArray* a = (NSMutableArray*) [AppStoreVersion componentsSeparatedByString: @"."];
NSMutableArray* b = (NSMutableArray*) [AppVersion componentsSeparatedByString: @"."];
while (a.count < b.count) { [a addObject: @"0"]; }
while (b.count < a.count) { [b addObject: @"0"]; }
for (int j = 0; j<a.count; j++) {
if ([[a objectAtIndex:j] integerValue] > [[b objectAtIndex:j] integerValue]) {
result = true;
break;
}else if([[a objectAtIndex:j] integerValue] < [[b objectAtIndex:j] integerValue]){
result = false;
break;
}else{
result = false;
}
}
return result;//true就是有新版本,false就是没有新版本
}
当前app版本
NSString* appVersion = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];