溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

iOS如何跳轉(zhuǎn)到App Store下載評分頁面示例代碼

發(fā)布時間:2020-09-09 15:06:08 來源:腳本之家 閱讀:513 作者:xiaoyouPrince 欄目:移動開發(fā)

前言

目前很多應(yīng)用是要求點擊事件直接跳轉(zhuǎn)到App Store,最近工作中就遇到了一個跳轉(zhuǎn) App Store 評分或者下載更新的功能,網(wǎng)上查到很多跳轉(zhuǎn)方法,這里記錄一下,下面話不多說了,來一起看看詳細(xì)的介紹吧。

主要跳轉(zhuǎn)方法有兩種

  • 使用官方 StoreKit.framework 框架
  • 應(yīng)用間跳轉(zhuǎn)直接跳到 App Store 應(yīng)用,并攜帶自己 App 的 AppID。

使用官方框架

蘋果提供了StoreKit.framework框架,工程中可以導(dǎo)入這個框架的主頭文件

#import <StoreKit/StoreKit.h>,

也可以直接導(dǎo)入

#import<StoreKit/SKStoreProductViewController.h >,

添加代理并實現(xiàn)代理方法<SKStoreProductViewControllerDelegate>

示例代碼

/**
 應(yīng)用內(nèi)跳轉(zhuǎn)到App Store頁
 */
- (IBAction)jump:(id)sender { 
 NSString *appId = @"1066602104"; 
 // 創(chuàng)建對象
 SKStoreProductViewController *storeVC = [[SKStoreProductViewController alloc] init];
 // 設(shè)置代理
 storeVC.delegate = self;
 // 初始化參數(shù)
 NSDictionary *dict = [NSDictionary dictionaryWithObject:appId forKey:SKStoreProductParameterITunesItemIdentifier];
 // 跳轉(zhuǎn)App Store頁
 [storeVC loadProductWithParameters:dict completionBlock:^(BOOL result, NSError * _Nullable error) {
  if (error) {
   NSLog(@"錯誤信息:%@",error.userInfo);
  }
  else
  {
   // 彈出模態(tài)視圖
   [self presentViewController:storeVC animated:YES completion:nil];
  }
 }]; 
}

#pragma mark -- SKStoreProductViewControllerDelegate
/**
 SKStoreProductViewControllerDelegate 方法,選擇完成之后的處理
 @param viewController SKStoreProductViewController
 */
- (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController
{
 NSLog(@"將要退出 App Store 頁面了");
 [viewController dismissViewControllerAnimated:YES completion:^{
  NSLog(@"已經(jīng)退出 App Store 頁面完成了");
 }];
}

應(yīng)用內(nèi)跳轉(zhuǎn)直接到 App Store 頁面

此方法使用 [[UIApplication sharedApplication] openURL:url];打開鏈接的方式跳轉(zhuǎn)到App Store。

此方法主要是需要拿到自己要跳轉(zhuǎn) App 的 App Store 的 URL 地址

/**
 直接跳轉(zhuǎn)
 */
- (IBAction)justJumpToOtherPage:(id)sender {
 // 應(yīng)用地址
 NSString *appStr = @"https://itunes.apple.com/app/apple-store/id1317248738?pt=118536605&ct=web&mt=8";
 // 跳轉(zhuǎn)
 NSDictionary *options = @{UIApplicationOpenURLOptionUniversalLinksOnly
        :@(YES)};
 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:appStr] options:options completionHandler:^(BOOL success) {
  NSLog(@"將要進(jìn)入 App Store 頁面了");
 }]; 
}

- (IBAction)jumpToScorePage
{  
 NSLog(@"將要進(jìn)入 App Store 評分頁面了"); 
 // 評分頁面地址
 NSString *scoreStr = [NSString stringWithFormat:@"https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=%@&pageNumber=0&sortOrdering=2&type=Purple+Software&mt=8",appID];  
 // 判斷系統(tǒng)用對應(yīng)方法
 if ( @available(iOS 10 , * )) {
  [[UIApplication sharedApplication] openURL:[NSURL URLWithString:scoreStr] options:options completionHandler:^(BOOL success) {  
   NSLog(@"已經(jīng)進(jìn)入 App Store 頁面了");
  }];
 } else {
  [[UIApplication sharedApplication] openURL:[NSURL URLWithString:appStr]];
 }
}

【注意】 跳轉(zhuǎn) App Store 需要真機(jī)運行

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI