近期做到APP的更新,當(dāng)新應(yīng)用更新后,本地的APP也需要更新,這個(gè)時(shí)候給用戶一個(gè)提示就比較好了。相關(guān)代碼如下,寫在AppDelegate里面就可以,也可以寫在首頁。
//跳轉(zhuǎn)至App Store核心代碼
NSURL*url=[NSURL URLWithString:[NSStristringWithFormat: "https://itunes.apple.com/cn/app/linkmore/id1095614663?mt=8"]];
[[UIApplication sharedApplication]openURL:url];
PS:此處地址為App Store內(nèi)應(yīng)用的地址,獲取方式--打開iTunes——>應(yīng)用——>App Store——>搜索“app名稱”——>右鍵APP拷貝鏈接
(例如:https://itunes.apple.com/cn/app/凌貓停車/id1095614663?mt=8,此處一坑,地址中不可出現(xiàn)漢字,這時(shí)候需要將起改為字符串例如https://itunes.apple.com/cn/app/linkmore/id1095614663?mt=8即可)
2獲取App Store最新版本號(hào)并與手機(jī)當(dāng)前應(yīng)用進(jìn)行比較判斷是佛跳轉(zhuǎn)更新
先獲取當(dāng)前工程項(xiàng)目版本號(hào)
NSDictionary*infoDic=[[NSBundle mainBundle]infoDictionary];
NSString*currentVersion=infoDic[ "CFBundleShortVersionString"];
3獲取當(dāng)前最新版本APP的版本號(hào),可以通過App Store獲取也可以讓你們的技術(shù)后臺(tái)寫一個(gè)版本控制的接口,自己去獲取最新版本信息。
通過App Store獲取
AFHTTPSessionManager*manager=[AFHTTPSessionManager manager];
manager.requestSerializer=[AFHTTPRequestSerializer serializer];
manager.responseSerializer.acceptableContentTypes=[NSSet setWithObjects: "text/html", "text/plain", "application/json", "text/javascript",nil];
NSString*urlStr=[NSString stringWithFormat: "https://itunes.apple.com/cn/linkmore?id=% ",STOREAPPID];
[manager POST:urlStr parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData>_Nonnull formData){
}progress:^(NSProgress*_Nonnull uploadProgress){
}success:^(NSURLSessionDataTask*_Nonnull task,id _Nullable responseObject){
NSArray*array=responseObject[ "results"];
NSDictionary*dic=array[0];
NSString*appStoreVersion=dic[ "version"];
//打印版本號(hào)
NSLog( "商店版本號(hào):% ",appStoreVersion);
}failure:^(NSURLSessionDataTask*_Nullable task,NSError*_Nonnull error){
}];
到這里,就可以將當(dāng)前手機(jī)內(nèi)應(yīng)用版本號(hào)與App Store內(nèi)版本號(hào)進(jìn)行比較,如果當(dāng)前手機(jī)內(nèi)應(yīng)用版本號(hào)較低,就可以提示更新了并跳轉(zhuǎn)至App Store更新最新版本。