iOS版本升級(jí)提醒

關(guān)于iOS版本升級(jí),蘋(píng)果是不允許用戶(hù)有強(qiáng)制用戶(hù)升級(jí)的提示的,但是為了讓用戶(hù)知道APP更新了,一般APP里面是會(huì)有版本升級(jí)提示。下面來(lái)介紹一下一般都是怎么做的。

方法一:

可以訪問(wèn)itunes拿到iTunes里面的APP版本號(hào),然后與本地的APP版本號(hào)進(jìn)行對(duì)比,就可以判斷出是否需要升級(jí)了
優(yōu)點(diǎn):不需要對(duì)自己的服務(wù)器進(jìn)行任何操作
缺點(diǎn):訪問(wèn)itunes會(huì)比較慢,所以請(qǐng)求響應(yīng)時(shí)間會(huì)比較長(zhǎng)
請(qǐng)求網(wǎng)址:

https://itunes.apple.com/lookup?id=APPID

這個(gè)會(huì)返回你的APP在App Store的所有信息

//這個(gè)就是請(qǐng)求后拿到的App Store的版本號(hào)
NSString *appStoreVersion = [responseObject[@"results"] lastObject][@"version"];
//獲取當(dāng)前的APP的版本號(hào)
NSString *appVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];

把兩個(gè)版本號(hào)進(jìn)行判斷,注意不能直接轉(zhuǎn)化為double類(lèi)型

[appStoreVersion compare:appVersion options:NSNumericSearch] == NSOrderedDescending

if ([appStoreVersion compare:appVersion options:NSNumericSearch] == NSOrderedDescending) {//需要升級(jí)
    UIAlertController *alertVC = [UIAlertController alertControllerWithTitle:@"溫馨提示" message:@"請(qǐng)升級(jí)版本" preferredStyle:UIAlertControllerStyleAlert];
    
    UIAlertAction *sure = [UIAlertAction actionWithTitle:@"升級(jí)" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
        NSString *str = @"itms-apps://itunes.apple.com/app/id1228061385";
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
    }];
    UIAlertAction *cancel = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil];
    [alertVC addAction:sure];
    [alertVC addAction:cancel];
    [self presentViewController:alertVC animated:YES completion:nil];
}else{//不需要升級(jí)
    NSLog(@"不要升級(jí)");
}

方法二:

往自己的服務(wù)器上發(fā)一個(gè)請(qǐng)求,獲取最新的版本號(hào)與本地的APP版本號(hào)進(jìn)行判斷
優(yōu)點(diǎn):因?yàn)樵L問(wèn)的是自己的服務(wù)器,所以響應(yīng)快
缺點(diǎn):需要自己的服務(wù)器去做對(duì)應(yīng)的接口和數(shù)據(jù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,915評(píng)論 18 139
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,242評(píng)論 25 708
  • 今天,其實(shí)我并不知道該寫(xiě)些什么,或許只想保持一個(gè)好的開(kāi)始,或許這只是我開(kāi)始的第二天,我不想還沒(méi)開(kāi)始就斷掉。 有...
    倉(cāng)月閱讀 194評(píng)論 0 0
  • 兩年前滿懷憧憬獨(dú)自一人來(lái)到了這個(gè)北方城市,美麗的海河、優(yōu)雅的意式風(fēng)情區(qū)等映入眼簾的景象使我感覺(jué)這座城市真的好美麗。...
    落拓野客閱讀 507評(píng)論 1 2
  • 蘇州的園林有許多,靜思園的與眾不同之處在于,作為江南最大的私家園林,竟是由當(dāng)代人建造的。可別覺(jué)得當(dāng)代建造就沒(méi)有文化...
    逸之閱讀 2,176評(píng)論 12 0