iOS 監(jiān)測版本更新利用appstore 進(jìn)行判斷

前言:一般來說很多時(shí)候亮蛔,我們的應(yīng)用在進(jìn)行版本更迭的時(shí)候宠互,有最新版本時(shí)畏线,都是希望能夠提醒用戶及時(shí)更新的静盅。很多時(shí)候我們在判讀是否有版本更新的時(shí)候都是利用后臺(tái)的接口進(jìn)行判斷,其實(shí)對于我們要上到appstore應(yīng)用市場的應(yīng)用來說還可以通過監(jiān)測appstore上一個(gè)已經(jīng)上線版本的版本號(hào)進(jìn)行判斷是否需要版本更新寝殴。

.h 文件

#import <Foundation/Foundation.h>

@interfaceMonitoringEditionUpdate :NSObject

+ (BOOL)isUpdateVersion;

+ (NSString*)appStoreProjectVersion;

@end

.m 文件

#import"MonitoringEditionUpdate.h"

#define storeAppID @"1234569" // 此處為自己appid?

@implementationMonitoringEditionUpdate

+ (BOOL)isUpdateVersion

{

BOOLisUpdate =NO;

NSString* currentVersion = [selfcurrentProjectVersion];

NSString* appStoreVersion = [selfappStoreProjectVersion];

currentVersion = [currentVersionstringByReplacingOccurrencesOfString:@"."withString:@""];

if (currentVersion.length==2) {

currentVersion= [currentVersionstringByAppendingString:@"0"];

}else if (currentVersion.length==1){

currentVersion= [currentVersionstringByAppendingString:@"00"];

}

appStoreVersion = [appStoreVersionstringByReplacingOccurrencesOfString:@"."withString:@""];

if (appStoreVersion.length==2) {

appStoreVersion= [appStoreVersionstringByAppendingString:@"0"];

}else if (appStoreVersion.length==1){

appStoreVersion= [appStoreVersionstringByAppendingString:@"00"];

}

if([currentVersionfloatValue] < [appStoreVersionfloatValue])

{

isUpdate =YES;

}else{

isUpdate =NO;

}

return isUpdate;

}

// 獲取當(dāng)前項(xiàng)目的版本號(hào)

+ (NSString*)currentProjectVersion

{

NSString*currentVersion =@"";

NSDictionary*infoDic=[[NSBundlemainBundle]infoDictionary];

currentVersion= infoDic[@"CFBundleShortVersionString"];//currentVersion為當(dāng)前工程項(xiàng)目版本號(hào)

return currentVersion;

}

// 獲取AppStore 版本號(hào)

+ (NSString*)appStoreProjectVersion

{

NSString* appStoreVersion =@"";

NSError*error;

NSData*response = [NSURLConnectionsendSynchronousRequest:[NSURLRequestrequestWithURL:[NSURLURLWithString:[NSStringstringWithFormat:@"http://itunes.apple.com/cn/lookup?id=%@",storeAppID]]]returningResponse:nilerror:nil];

if (response == nil) {

return nil;

}

NSDictionary*appInfoDic = [NSJSONSerializationJSONObjectWithData:responseoptions:NSJSONReadingMutableLeaveserror:&error];

if (error) {

return nil;

}

NSArray*array = appInfoDic[@"results"];

if (array.count<1) {

return nil;

}

NSDictionary*dic = array[0];

//商店版本號(hào)

appStoreVersion = dic[@"version"];

return appStoreVersion;

}

@end

這樣 我們在調(diào)用的時(shí)候

- (void)compareVersion:(UIViewController*)navVC

{

if ([MonitoringEditionUpdateisUpdateVersion]) {

UIAlertController*alercConteoller = [UIAlertControlleralertControllerWithTitle:@"版本有更新"message:[NSStringstringWithFormat:@"檢測到新版本(%@),是否更新?",[MonitoringEditionUpdateappStoreProjectVersion]]preferredStyle:UIAlertControllerStyleAlert];

UIAlertAction*actionYes = [UIAlertActionactionWithTitle:@"去更新"style:UIAlertActionStyleDefaulthandler:^(UIAlertAction*_Nonnullaction) {

NSURL*url = [NSURLURLWithString:[NSStringstringWithFormat:@"https://itunes.apple.com/us/app/id%@?ls=1&mt=8",storeAppID]];

[[UIApplicationsharedApplication]openURL:url];

}];

UIAlertAction*actionNo = [UIAlertActionactionWithTitle:@"暫不更新"style:UIAlertActionStyleCancelhandler:^(UIAlertAction*_Nonnullaction) {

}];

[alercConteolleraddAction:actionYes];

[alercConteolleraddAction:actionNo];

[navVCpresentViewController:alercConteolleranimated:YEScompletion:nil];

}else{

}

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蒿叠,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蚣常,更是在濱河造成了極大的恐慌市咽,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件抵蚊,死亡現(xiàn)場離奇詭異施绎,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)贞绳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進(jìn)店門谷醉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人冈闭,你說我怎么就攤上這事俱尼。” “怎么了萎攒?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵遇八,是天一觀的道長。 經(jīng)常有香客問我耍休,道長刃永,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任羊精,我火速辦了婚禮斯够,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘园匹。我一直安慰自己雳刺,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布裸违。 她就那樣靜靜地躺著掖桦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪供汛。 梳的紋絲不亂的頭發(fā)上枪汪,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天涌穆,我揣著相機(jī)與錄音,去河邊找鬼雀久。 笑死宿稀,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的赖捌。 我是一名探鬼主播祝沸,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼越庇!你這毒婦竟也來了罩锐?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤卤唉,失蹤者是張志新(化名)和其女友劉穎涩惑,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體桑驱,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡竭恬,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了熬的。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片痊硕。...
    茶點(diǎn)故事閱讀 39,696評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖悦析,靈堂內(nèi)的尸體忽然破棺而出寿桨,到底是詐尸還是另有隱情,我是刑警寧澤强戴,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站挡鞍,受9級(jí)特大地震影響骑歹,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜墨微,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一道媚、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧翘县,春花似錦最域、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至忘伞,卻和暖如春薄翅,著一層夾襖步出監(jiān)牢的瞬間沙兰,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工翘魄, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鼎天,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓暑竟,卻偏偏與公主長得像斋射,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子但荤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評論 2 353

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

  • 有些App更新新功能并且上線后纱兑,會(huì)有這樣的需求:用戶登錄后呀闻,會(huì)提示用戶“發(fā)現(xiàn)新版本,請更新”潜慎,這就需要用戶點(diǎn)擊確定...
    海耐射手閱讀 5,159評論 4 2
  • 做iOS開發(fā)App很久了捡多,今天想寫寫博客,把自己的一些想法铐炫、技術(shù)點(diǎn)垒手、遇到問題寫出來,供大家參考倒信; app版本更新是...
    奮斗ing0310閱讀 1,145評論 0 2
  • 時(shí)間2016-11-23 09:35:54CocoaChina 原文http://www.cocoachina.c...
    Johnny_Chang閱讀 588評論 0 5
  • 今天天氣不錯(cuò)科贬。早上應(yīng)閨女要求煮了龍須面,徐夢賽稱之為細(xì)細(xì)的面條鳖悠。閨女和兒子都吃了一大碗榜掌,閨女說她吃的比爸爸還多〕俗郏可...
    徐夢賽媽媽李蕾閱讀 165評論 0 0
  • 每個(gè)女人生完孩子憎账,都一段對人生深感無望的日子,那就是坐月子卡辰。在這期間琴许,有人抑郁了绪撵,有人夫妻感情不和了,有人離婚了。...
    l七卡l閱讀 321評論 2 2