日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS 强制更新

發布時間:2024/3/24 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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

總結

以上是生活随笔為你收集整理的iOS 强制更新的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。