iOS 强制更新
廢話不多說,直接上代碼
+ (void)getNewVersion {NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://itunes.apple.com/cn/lookup?id=1036152564"]];NSURLSessionDataTask *task = [[NSURLSession sharedSession] dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {// 請求的數據轉字典,必須判斷數據有值才走里面,不然空的data會出現crashif (data.length > 0) {NSDictionary *result = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];NSString *newVersion = [result[@"results"] firstObject][@"version"];NSString *message = [result[@"results"] firstObject][@"releaseNotes"];NSString *trackViewUrl = [result[@"results"] firstObject][@"trackViewUrl"];//屏蔽蘋果審核員看到此更新提示口(此版本每次提交前更新成目前線上版本號)if ([newVersion isEqualToString:@"2.5.0"]) return;// 獲得當前打開軟件的版本號NSString *currentVersion = [NSBundle mainBundle].infoDictionary[@"CFBundleShortVersionString"];// 針對新下載用戶如果是第一次下載 不會走里面代碼。如果是老用戶就會走里面代碼if (![newVersion isEqualToString:currentVersion]) {UIAlertController *alertVC = [UIAlertController alertControllerWithTitle:@"有新版本啦" message:message preferredStyle:UIAlertControllerStyleAlert];[alertVC addAction:[UIAlertAction actionWithTitle:@"馬上嘗鮮"style:UIAlertActionStyleDefaulthandler:^(UIAlertAction * _Nonnull action) {[[UIApplication sharedApplication]openURL:[NSURL URLWithString:trackViewUrl]];}]];UIViewController *mainVc = [UIApplication sharedApplication].keyWindow.rootViewController;if (mainVc.presentedViewController) {mainVc = mainVc.presentedViewController;}[mainVc presentViewController:alertVC animated:YES completion:nil];}}}];[task resume]; }這是我把強制更新做成一個繼承NSObject工具類里面的代碼,我的類是這樣寫的:
下面是調用方法(當然你一定要包含頭文件)
我和蘋果審核員對賭的游戲其實就一句話:
//屏蔽蘋果審核員看到此更新提示口(此版本號必須每次提交前更新成目前線上已上線版本號)if ([newVersion isEqualToString:@"2.5.0"]) return;在上線之前一定要將此處的版本號改成你現在已經上線的版本號,我對賭的理由是,蘋果審核員在審核我們的App的時候,他的手機或者pad上絕對沒有安裝我們之前的App,如果安裝了的話,那他就會跟我們用戶一樣,會彈出更新提示框,這樣我們的應用鐵定是通過不了的,如果沒安裝,那他請求下來的version一定是跟我這里寫死的是一樣的,所以就會return掉,不會走后面的代碼,事實證明,我贏了!但是這也不是絕對的,如果真有一天審核員心情好,一直留著你的App,那你就中獎了!
源碼地址
轉自:http://www.jianshu.com/p/b1196f50de82
總結
- 上一篇: 显卡显存测试u盘 mats_耕升RTX
- 下一篇: FVD speed dial-firef