这个方式是从后台获取版本号,在苹果审核期间,保持接口返回数据是没有版本更新的信息,审核通过之后,后台修改接口返回的数据,有新版本,ios端弹窗提示版本更新,跳转至App Store。
网络请求获取接口返回的信息(版本号:Versions)
//2.先获取当前app的版本号
NSString * currentVersion = [NSBundle mainBundle].infoDictionary[@"CFBundleShortVersionString"];
NSLog(@"当前版本号currentVersion:%@",currentVersion);
//此处截取两位 是不好控制版本号,version我写的三位数
NSString *strCut =[currentVersion substringToIndex:3];
NSLog(@"截取版本号两位数strCut:%@",strCut);
NSMutableDictionary *parat =[NSMutableDictionary dictionary];
[parat setValue:@"2" forKey:@"Type"];
[parat setValue:@"IsNew" forKey:@"Versions"];
[[TourExNetWorking shareNetWorking] postRequestWithURL:@"Down.ashx" parameters:parat successBlock:^(id responseObject) {
NSLog(@"responseObject:%@",responseObject);
if (![[[responseObject objectForKey:@"tableName"] objectForKey:@"Versions"] isEqualToString:strCut]) {
NSLog(@"没有版本更新");
NSUserDefaults *useDef = [NSUserDefaults standardUserDefaults];
// 使用 NSUserDefaults 读取用户数据
if (![useDef boolForKey:@"notFirst"]) {
// 如果是第一次进入引导页
_window.rootViewController = [[myViewController alloc] init];
}else{
//1 判断是否为登录状态。跳转至登录界面
//取Uid
NSUserDefaults *userUid =[NSUserDefaults standardUserDefaults];
[userUid synchronize];
NSString *Uid =[NSString stringWithFormat:@"%@",[userUid objectForKey:@"Uid"]];
int userID =[Uid intValue];
NSLog(@"用户userID:%d",userID);
// 否则直接进入应用
if (userID <1) {
//用户没有登录,跳转至登录界面
HomeViewController *homeVC =[[HomeViewController alloc]init];
ZYSNavigationController *nvHome =[[ZYSNavigationController alloc]initWithRootViewController:homeVC];
self.window.rootViewController =nvHome;
}else{
//用户已经登录,留在当前界面
}
}
}else{
NSLog(@"有新版本,提示是否更新");
UIAlertView *alert =[[UIAlertView alloc]initWithTitle:@"检查到新的版本" message:@"是否更新" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
alert.delegate =self;
[alert show];
}
} faildBlock:^(NSError *error) {
NSLog(@"error:%@",error);
}];
}