ios 版本更新迭代 前端根據(jù)版本號判斷來提示用戶更新

網(wǎng)上很多ios版本更新的帖子,但是很多都不用,今天有個人問我這塊的問題,我就把我之前寫的給他了, 其實道理很簡單就是拿2個版本號比大小,比較簡單,沒啥邏輯。 廢話不多說,直接上代碼,希望可以幫到大家。?

//檢測新版本

-(void)IterationVersion {

NSDictionary *infoDic = [[NSBundle mainBundle] infoDictionary];

NSString *currentVersion = [infoDic objectForKey:@"CFBundleShortVersionString"];

NSString *URL = @"https://itunes.apple.com/lookup?id=1106225692";

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];

[request setURL:[NSURL URLWithString:URL]];

[request setHTTPMethod:@"POST"];

NSOperationQueue *queue = [[NSOperationQueue alloc] init];

[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse * _Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError) {

if (data != nil) {

NSMutableDictionary *jsondata = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];

NSArray *infoArray = [jsondata objectForKey:@"results"];

if ([infoArray count]) {

NSDictionary *releaseInfo = [infoArray objectAtIndex:0];

NSString *lastVersion = [releaseInfo objectForKey:@"version"];

NSString *trackViewUrl = [releaseInfo objectForKey:@"trackViewUrl"];

self.trackViewUrl = trackViewUrl;

int? lastVersionnum = [[lastVersion stringByReplacingOccurrencesOfString:@"." withString:@""]intValue];

int? currentVersionnum = [[currentVersion stringByReplacingOccurrencesOfString:@"." withString:@""] intValue];

if (lastVersionnum > currentVersionnum) {

dispatch_sync(dispatch_get_main_queue(), ^(){

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"更新" message:@"有新的版本更新,是否前往更新?" delegate:self cancelButtonTitle:@"更新" otherButtonTitles:@"取消", nil];

alert.tag = 10000;

[alert show];

});

}

}

}

}];

}

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex

{

if (alertView.tag==10000) {

if (buttonIndex==0) {

NSURL *url = [NSURL URLWithString:self.trackViewUrl];

[[UIApplication sharedApplication]openURL:url];

}

}

}

使用起來也比較簡單,直接在AppDelegate的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
}代理方法里 調(diào)用即可[self IterationVersion];

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • iOS開發(fā)系列--網(wǎng)絡(luò)開發(fā) 概覽 大部分應(yīng)用程序都或多或少會牽扯到網(wǎng)絡(luò)開發(fā),例如說新浪微博、微信等,這些應(yīng)用本身可...
    lichengjin閱讀 4,023評論 2 7
  • 技術(shù)無極限,從菜鳥開始,從源碼開始。 由于公司目前項目還是用OC寫的項目,沒有升級swift 所以暫時SDWebI...
    充滿活力的早晨閱讀 12,832評論 0 2
  • iOS支付 iOS支付分為兩類,第三方支付和應(yīng)用內(nèi)支付(內(nèi)購)。 第三方支付包括:支付寶支付、微信支付、銀聯(lián)支付、...
    請輸入賬號名閱讀 6,463評論 3 22
  • //需要AFN //.h //AFNetworking + (void)post:(NSString *)url ...
    CHADHEA閱讀 876評論 0 0
  • 騎著跛腳的馬兒 慢慢悠悠慢慢悠悠的晃蕩 走過荒無人煙的川藏 站在距天一尺的珠峰 血淚刺痛了我的神經(jīng) 扣問上蒼,關(guān)于...
    周門近安閱讀 410評論 0 12

友情鏈接更多精彩內(nèi)容