當前蘋果已經禁止了,通過IOS應用直接跳轉APP下載鏈接的方法。但是仍然可以使用另外一種方法直接跳轉AppStore。 這種方法需要增加一個類庫StoreKit.framework。 這裡使用這功能是為用戶提供更新,下麵說下我實現這個功能的詳細步驟。 一、增加一個網頁到伺服器上去,title增加你當 ...
當前蘋果已經禁止了,通過IOS應用直接跳轉APP下載鏈接的方法。但是仍然可以使用另外一種方法直接跳轉AppStore。
這種方法需要增加一個類庫StoreKit.framework。 這裡使用這功能是為用戶提供更新,下麵說下我實現這個功能的詳細步驟。
一、增加一個網頁到伺服器上去,title增加你當前APP的版本號。
二、在viewDidLoad裡面增加UIWebView載入伺服器上增加的網頁,並獲取當前版本號
1:下麵是是uiwebview 載入網頁的代碼
-(void)viewDidLoad { [super viewDidLoad]; BeeUIWebView* getVersionWebView=[[BeeUIWebView alloc]initWithFrame:CGRectMake(0, 0, 100, 100)]; getVersionWebView.backgroundColor = [UIColor redColor]; getVersionWebView.scalesPageToFit =YES; NSString *pagePath=[NSString stringWithFormat:@"http://www.jmfww.com/Mobile/iosVersionInfo.html"]; NSURL *url =[[NSURL alloc] initWithString: pagePath]; NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url]; getVersionWebView.delegate=self; [getVersionWebView loadRequest:request]; }View Code
2:uiwebview代理
- (void)webViewDidFinishLoad:(UIWebView *)webView { NSString *value= [webView stringByEvaluatingJavaScriptFromString:@"document.title"]; NSArray *VersionAndStoreLoadUrlArray= [value componentsSeparatedByString:@","]; NSString *Version=[VersionAndStoreLoadUrlArray objectAtIndex:1]; NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary]; // app名稱 // NSString *app_Name = [infoDictionary objectForKey:@"CFBundleDisplayName"]; // app版本 NSString *app_Version = [infoDictionary objectForKey:@"CFBundleShortVersionString"]; if (![app_Version isEqualToString:Version]) { showMessage(@"請前往AppStore下載最新版本"); [self openAppStore:@"932016124"]; } }View Code
二、SKStoreProductViewController
//首先引入SKStoreProductViewController代理SKStoreProductViewControllerDelegate //跳轉APPSTORE的方法 -(void)openAppStore:(NSString *)appId{ SKStoreProductViewController *storeProducVC= [[SKStoreProductViewController alloc]init]; storeProducVC.delegate=self; NSDictionary *dict=[NSDictionary dictionaryWithObject:appId forKey:SKStoreProductParameterITunesItemIdentifier]; [storeProducVC loadProductWithParameters:dict completionBlock:^(BOOL result, NSError * _Nullable error) { if (result) { [self presentViewController:storeProducVC animated:YES completion:nil]; } }]; } //SKStoreProductViewController返回代理 -(void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController { [viewController dismissViewControllerAnimated:YES completion:nil]; }View Code