iOS 跳转到 App Store 下载评分页面

许多应用都有跳转 App Store 评分或者下载更新的功能,网上查到很多跳转方法,这里记录一下

主要跳转方法有两种

  • 使用官方 StoreKit.framework 框架

  • 应用间跳转直接跳到 App Store 应用,并携带自己 App 的 AppID。

使用官方框架

苹果提供了StoreKit.framework框架,工程中可以导入这个框架的主头文件

#import,

也可以直接导入

#import,

添加代理并实现代理方法

示例代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/**
  应用内跳转到App Store页
  */
- (IBAction)jump:(id)sender {
     
     NSString *appId = @ "1066602104" ;
     
     // 创建对象
     SKStoreProductViewController *storeVC = [[SKStoreProductViewController alloc] init];
     // 设置代理
     storeVC.delegate = self;
     // 初始化参数
     NSDictionary *dict = [NSDictionary dictionaryWithObject:appId forKey:SKStoreProductParameterITunesItemIdentifier];
     
     // 跳转App Store页
     [storeVC loadProductWithParameters:dict completionBlock:^(BOOL result, NSError * _Nullable error) {
         if  (error) {
             NSLog(@ "错误信息:%@" ,error.userInfo);
         }
         else
         {
             // 弹出模态视图
             [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(@ "已经退出 App Store 页面完成了" );
     }];
}

应用内跳转直接到 App Store 页面

此方法使用 [[UIApplication sharedApplication] openURL:url];打开链接的方式跳转到App Store。

此方法主要是需要拿到自己要跳转 App 的 App Store 的 URL 地址

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/**
  直接跳转
  */
- (IBAction)justJumpToOtherPage:(id)sender {
     // 应用地址
     // 跳转
     NSDictionary *options = @{UIApplicationOpenURLOptionUniversalLinksOnly
                               :@(YES)};
     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:appStr] options:options completionHandler:^(BOOL success) {
         NSLog(@ "将要进入 App Store 页面了" );
     }];  
}
- (IBAction)jumpToScorePage
{
         
    NSLog(@ "将要进入 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];
         
    // 判断系统用对应方法
    if  ( @available(iOS  10  , * )) {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:scoreStr] options:options completionHandler:^(BOOL success) {
        
            NSLog(@ "已经进入 App Store 页面了" );
        }];
    else  {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:appStr]];
    }
}

【注意】 跳转 App Store 需要真机运行

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值