iOS提示用户新版本更新(不从App Store获取版本信息)

这个方式是从后台获取版本号,在苹果审核期间,保持接口返回数据是没有版本更新的信息,审核通过之后,后台修改接口返回的数据,有新版本,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);

}];

}

推荐阅读更多精彩内容