最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ios實(shí)現(xiàn)app強(qiáng)制更新功能

 更新時間:2017年05月06日 09:26:38   作者:飛翔云端的魚  
本篇文章主要介紹了ios實(shí)現(xiàn)app強(qiáng)制更新功能,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

最近因項(xiàng)目需求,需要用到強(qiáng)制更新功能,網(wǎng)上搜了一下,挺多的,但是把網(wǎng)上的代碼拷貝以后,發(fā)現(xiàn)一個bug,就是進(jìn)app,彈出框顯示,點(diǎn)擊現(xiàn)在升級,跳轉(zhuǎn)到AppStore下載里面,但是我不下載,又切回到app里面,發(fā)現(xiàn)彈出框就不跳了,其實(shí)也簡單,就是appdelegate里面有個代理方法,就是當(dāng)app從后臺切到前臺走的方法,將強(qiáng)制更新方法在這里面在調(diào)用一下就行了~~~話不多說,上代碼!?。∮玫脑捴苯诱迟N復(fù)制~

效果圖:

在appdelegate里面寫下面代碼

  //提示版本更新
 [self VersonUpdate];
#pragma mark ------提示用戶版本更新------

-(void)VersonUpdate{

  //定義app地址
  NSString *urld = [NSString  stringWithFormat:@"http://itunes.apple.com/lookup?id=%d",1178114725];

  NSURL *url = [NSURL URLWithString:urld];

  NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:10];

  [request setHTTPMethod:@"POST"];

  NSURLSession *session = [NSURLSession sharedSession];

  NSURLSessionDataTask *task = [session dataTaskWithURL:url completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {

    NSLog(@"%@",response);

    NSMutableDictionary *receiveStatusDic = [[NSMutableDictionary alloc]init];

    if (data) {

      NSDictionary *receiveDic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
      if ([[receiveDic valueForKey:@"resultCount"] intValue] > 0) {

        [receiveStatusDic setObject:@"1" forKey:@"status"];

        [receiveStatusDic setObject:[[[receiveDic valueForKey:@"results"] objectAtIndex:0] valueForKey:@"version"]  forKey:@"version"];

        [self performSelectorOnMainThread:@selector(receiveData:) withObject:receiveStatusDic waitUntilDone:NO];


      }else{

        [receiveStatusDic setValue:@"1" forKey:@"status"];


      }
    }else{


      [receiveStatusDic setValue:@"-1" forKey:@"status"];
    }


  }];

  [task resume];

}
-(void)receiveData:(id)sender
{
  //獲取APP自身版本號
  NSString *localVersion = [[[NSBundle mainBundle]infoDictionary]objectForKey:@"CFBundleShortVersionString"];

  NSArray *localArray = [localVersion componentsSeparatedByString:@"."];//1.0
  NSArray *versionArray = [sender[@"version"] componentsSeparatedByString:@"."];//3 2.1.1


//  if ((versionArray.count == 2) && (localArray.count == versionArray.count)) {

    if ([localArray[0] intValue] < [versionArray[0] intValue]) {

      [self updateVersion];

    }else if ([localArray[0] intValue] == [versionArray[0] intValue]){
      if ([localArray[1] intValue] < [versionArray[1] intValue]) {
        [self updateVersion];

      }else if ([localArray[1] intValue] == [versionArray[1] intValue]){
        if ([localArray[2] intValue] < [versionArray[2] intValue]) {

          [self updateVersion];

        }
      }
    }
//  }

}

-(void)updateVersion{

  NSString *msg = [NSString stringWithFormat:@"版本過低,需要升級到最新版本"];
  UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"升級提示" message:msg preferredStyle:UIAlertControllerStyleAlert];
  UIAlertAction *otherAction = [UIAlertAction actionWithTitle:@"現(xiàn)在升級" style:UIAlertActionStyleDestructive handler:^(UIAlertAction*action) {

    NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"https://itunes.apple.com/cn/app/m-help/id1178114725?mt=8"]];
    [[UIApplication sharedApplication]openURL:url];
  }];
  [alertController addAction:otherAction];
  [self.window.rootViewController presentViewController:alertController animated:YES completion:nil];

}
//當(dāng)app從后臺切到前臺時調(diào)用的方法
- (void)applicationDidBecomeActive:(UIApplication * )application
{
  [self VersonUpdate];
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • IOS開發(fā)筆記之禁用手勢滑動返回功能的示例

    IOS開發(fā)筆記之禁用手勢滑動返回功能的示例

    本篇文章主要介紹了IOS開發(fā)筆記之禁用手勢滑動返回功能的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • 詳解優(yōu)化iOS程序性能的25個方法

    詳解優(yōu)化iOS程序性能的25個方法

    本篇文章主要介紹了優(yōu)化iOS程序性能的25個方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • 源碼解析ios開發(fā)SDWebImage方法

    源碼解析ios開發(fā)SDWebImage方法

    這篇文章主要為大家介紹了源碼解析ios開發(fā)SDWebImage方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • iOS仿抖音視頻加載動畫效果的實(shí)現(xiàn)方法

    iOS仿抖音視頻加載動畫效果的實(shí)現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于iOS視頻加載動畫效果的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • 利用iOS動畫來模擬音量振動條的實(shí)現(xiàn)

    利用iOS動畫來模擬音量振動條的實(shí)現(xiàn)

    本篇文章主要利用iOS動畫來模擬音量振動條的實(shí)現(xiàn)以及對CAReplicatorLayer的簡單介紹,需要的朋友可以參考下
    2015-07-07
  • IOS 靜態(tài)庫打包流程簡化詳細(xì)介紹

    IOS 靜態(tài)庫打包流程簡化詳細(xì)介紹

    這篇文章主要介紹了IOS 靜態(tài)庫打包流程簡化詳細(xì)介紹的相關(guān)資料,開發(fā)好的靜態(tài)庫后需要手動的合并.a文件,然后再拷貝相關(guān)的頭文件,接著把靜態(tài)庫和頭文件放在同一個文件里面打包發(fā)送給SDK的使用者,這里簡化下流程,需要的朋友可以參考下
    2016-12-12
  • iOS實(shí)現(xiàn)手動和自動屏幕旋轉(zhuǎn)

    iOS實(shí)現(xiàn)手動和自動屏幕旋轉(zhuǎn)

    這篇文章主要為大家詳細(xì)介紹了iOS實(shí)現(xiàn)手動和自動屏幕旋轉(zhuǎn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • IOS開發(fā)之字典轉(zhuǎn)字符串的實(shí)例詳解

    IOS開發(fā)之字典轉(zhuǎn)字符串的實(shí)例詳解

    這篇文章主要介紹了IOS開發(fā)之字典轉(zhuǎn)字符串的實(shí)例詳解的相關(guān)資料,希望通過本文能幫助到大家,讓大家掌握這樣的方法,需要的朋友可以參考下
    2017-10-10
  • iOS實(shí)現(xiàn)小型計(jì)算器

    iOS實(shí)現(xiàn)小型計(jì)算器

    這篇文章主要為大家詳細(xì)介紹了iOS實(shí)現(xiàn)小型計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • iOS 11 下適配UITableView 問題

    iOS 11 下適配UITableView 問題

    這篇文章主要介紹了iOS 11 下適配UITableView 問題,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-09-09

最新評論

毕节市| 外汇| 扎赉特旗| 香格里拉县| 封开县| 甘南县| 苏尼特右旗| 黄龙县| 来宾市| 黔东| 绍兴市| 阆中市| 梧州市| 分宜县| 江口县| 克拉玛依市| 淮阳县| 泰州市| 邵阳县| 兰州市| 威宁| 邯郸县| 瓦房店市| 利辛县| 合肥市| 德安县| 芜湖县| 集贤县| 保德县| 黑河市| 汾西县| 疏勒县| 平遥县| 阿坝| 华容县| 巩义市| 武威市| 原平市| 柞水县| 兴山县| 忻城县|