这里如果是判断本机版本号与appstore的版本号对比,会出现问题。appstore上的版本号已经跟新,但是版本没更新。用户就会弹窗,提示更新,到了appstore却没有,很不好。
1.强制更新:
https://www.jianshu.com/p/3b5dc03099b5
2.更新版本号
主动检测版本更新 会被拒
在进行iOS开发的时候,你时候你会提醒用户进行更新,众所周知,提醒用户进行更新时,在苹果审核的时候回被拒绝掉。所以在苹果审核期间应该关闭此功能,等待审核通过之后再开启此功能。
至此,关于弹窗提示升级就结束了 。PS:这里比较版本号不是不一样就提示更新升级。而是当前版本号如果比AppStore版备号小的时候提示弹框升级。这样做的最大好处就是苹果在审核App时不会出现提示升级。当然如果你的版本号比AppStore设置小了(不可能),那你就。。。。
或者 :你打包提交的版本比服务器小就提示。
3.判断机制
//打包填写的版本号 2.11.2
if ([_appVersion componentsSeparatedByString:@"."].count < 3) {
return ;
}
//后台版本 2.11.2 过审核就不出现了,不然拒绝;
if ([dict[@"version"] componentsSeparatedByString:@"."].count < 3) {
return ;
}
NSString * aString = [_appVersion componentsSeparatedByString:@"."][0];
NSString * bString = [_appVersion componentsSeparatedByString:@"."][1];
NSString * AString = [dict[@"version"] componentsSeparatedByString:@"."][0];
NSString * BString = [dict[@"version"] componentsSeparatedByString:@"."][1];
//ret1 是比较 服务器版本>本地版本 例如本地1.11.1就强制升级,比价的是最前面的一位1.
BOOL ret2 = [AString integerValue]>[aString integerValue];
//ret1 是比较 服务器版本>本地版本 例如本地1.11.1就不强制升级,比价的是中间的11.
BOOL ret2 = ([BString integerValue]>[bString integerValue])&&([AString integerValue]==[aString integerValue]);
//最后一位变化不提示升级
网友评论