本文主要介紹的是兩種提示用戶的更新的方法籍琳,文字比較多量瓜。但都是邏輯
現(xiàn)在蘋果審核不能看到版本提示更新的字樣以及功能,如果你的APP里面有這個(gè)功能還有字樣物遇,那么恭喜你,你會(huì)被拒絕的憾儒。但是“操蛋”的策劃询兴,還必須讓我們實(shí)現(xiàn),給他解釋也解釋不清楚起趾,他就會(huì)說:“別人的怎么有诗舰,別人的怎么能通過審核”。聽到這是不是有種想打人的沖動(dòng)训裆。好吧始衅,廢話扯得有點(diǎn)多了,還是言歸正傳吧缭保。我給大家推薦兩個(gè)思路汛闸。
方法一:
1.需要后臺(tái)的配合,當(dāng)您的APP還沒上架的時(shí)候艺骂,后臺(tái)給你返回的數(shù)據(jù)里面诸老,是沒有審核那個(gè)字段的。當(dāng)你的APP上架的時(shí)候钳恕,讓后臺(tái)返回您的數(shù)據(jù)里面有這個(gè)字段别伏。
注意:這個(gè)方法是有個(gè)毛病的,如果升級改怎么辦呢忧额?升級的時(shí)候你的APP是上架狀態(tài)啊厘肮。靠還是搞不定啊睦番。
解決方法:
還是需要后臺(tái)的配合类茂,你可以發(fā)送請求的時(shí)候耍属,把你當(dāng)前的版本號,發(fā)送給后臺(tái)巩检,讓后臺(tái)去判斷厚骗,該不該返回更新版本信息。(本人思想兢哭,能讓后臺(tái)做的领舰,前臺(tái)就不去搞)
方法二:
1.這個(gè)就不需要后臺(tái)了,需要自己代碼實(shí)現(xiàn)〕俾荩現(xiàn)在后臺(tái)都是比較牛逼的冲秽,所以只有自己去實(shí)現(xiàn)了。
實(shí)現(xiàn)的思路:
1.你要獲取你在APP store上面的版本號和你程序的版本號進(jìn)行比較下就OK了矩父,小了就提示用戶更新劳跃。直接看代碼吧。
/**獲取程序的版本號*/
NSString *version = [[[NSBundle mainBundle]infoDictionary] objectForKey:@"CFBundleVersion"];
AFHTTPSessionManager *mgr = [AFHTTPSessionManager manager];
[mgr.responseSerializer setAcceptableContentTypes: [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript",@"text/html", nil]];
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
// dict[@"id"] = @"1073033949";// 上架的ID
dict[@"id"] = App_ID;// 你程序的apple ID號
[mgr POST:App_URL parameters:dict success:^(NSURLSessionDataTask * _Nonnull task, id _Nonnull responseObject) {// App_URL http://itunes.apple.com/lookup
NSArray *array = responseObject[@"results"];
if (array.count != 0) {// 先判斷返回的數(shù)據(jù)是否為空 沒上架的時(shí)候是空的
NSDictionary *dict = array[0];
self.dictM = dict;
[array writeToFile:App_URLPath atomically:YES];// 這是我保存到本來了 后面的功能要使用
if ([dict[@"version"] floatValue] > [version floatValue]) {//判斷版本大小了
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"更新" message:@"有新的版本更新浙垫,是否前往更新?" delegate:self cancelButtonTitle:@"關(guān)閉" otherButtonTitles:@"更新", nil] ;
alert.delegate = self;
[alert show];
}
}
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
}];
注意:這個(gè)方法也是有個(gè)缺陷的郑诺,就是蘋果返回的數(shù)據(jù)不能變夹姥,一變就不好辦了。但是個(gè)人覺得辙诞,蘋果更改的話辙售,也會(huì)保留原有數(shù)據(jù)方法的,所以此擔(dān)心可以忽略飞涂。但是該方法什么時(shí)候掉是個(gè)問題旦部,是每次啟動(dòng)都要訪問還是隔段時(shí)間訪問,個(gè)人覺得一星期訪問一次就可以了较店,如果有更新士八,就該提示用戶了。
APPLE ID的獲取位置