美文网首页
iOS提示用户新版本更新(不从App Store获取版本信息)

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

作者: 蔡林林 | 来源:发表于2017-05-09 16:58 被阅读97次

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

    }];

    }

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/kxkogttx.html