近期做到APP的更新,當新應用更新后,本地的APP也需要更新,這個時候給用戶一個提示就比較好了。相關代碼如下,寫在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)應用的地址,獲取方式--打開iTunes——>應用——>App Store——>搜索“app名稱”——>右鍵APP拷貝鏈接
(例如:https://itunes.apple.com/cn/app/凌貓停車/id1095614663?mt=8,此處一坑,地址中不可出現(xiàn)漢字,這時候需要將起改為字符串例如https://itunes.apple.com/cn/app/linkmore/id1095614663?mt=8即可)
2獲取App Store最新版本號并與手機當前應用進行比較判斷是佛跳轉(zhuǎn)更新
先獲取當前工程項目版本號
NSDictionary*infoDic=[[NSBundle mainBundle]infoDictionary];
NSString*currentVersion=infoDic[ "CFBundleShortVersionString"];
3獲取當前最新版本APP的版本號,可以通過App Store獲取也可以讓你們的技術(shù)后臺寫一個版本控制的接口,自己去獲取最新版本信息。
通過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"];
//打印版本號
NSLog( "商店版本號:% ",appStoreVersion);
}failure:^(NSURLSessionDataTask*_Nullable task,NSError*_Nonnull error){
}];
到這里,就可以將當前手機內(nèi)應用版本號與App Store內(nèi)版本號進行比較,如果當前手機內(nèi)應用版本號較低,就可以提示更新了并跳轉(zhuǎn)至App Store更新最新版本。