iOS 跳转到App Store下载或评论

时间:2021-11-13 19:58:56

//跳转到app在AppStore页面
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"itms-apps://itunes.apple.com/app/id%@", kPopolookAppleId]]];

//跳转到评分
        NSString *str = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=%@",kPopolookAppleId];
        NSURL * url = [NSURL URLWithString:str];
//        [[UIApplication sharedApplication] openURL:url];

//内置AppStore无需跳转打开AppStore
      需要导入#import <StoreKit/StoreKit.h>

  实现代理 SKStoreProductViewControllerDelegate

  //初始化控制器
        SKStoreProductViewController * storeProductVC = [[SKStoreProductViewController alloc] init];
        //设置代理
        storeProductVC.delegate = self;
        //加载新的视图
        [storeProductVC loadProductWithParameters:@{SKStoreProductParameterProviderToken : kPopolookAppleId} completionBlock:^(BOOL result, NSError * _Nullable error) {
            //block回调
            if (error) {
                NSLog(@"-=-=-=-=-=-=-=-==-=-==%@", error.userInfo);
            }else {
                //模态出AppStore
                [self presentViewController:storeProductVC animated:YES completion:nil];
            }
        }];

//代理方法 - 操作完成后调用

- (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController {
    [self dismissViewControllerAnimated:YES completion:nil];
}

//三种类型。需要与iTunes合作
//
//SKStoreProductParameterITunesItemIdentifier是希望展示App的AppID,该Key所关联的值是一个NSNumber类型。支持iOS6以后的系统版本。
//
//SKStoreProductParameterAffiliateToken是附属令牌,该Key所关联的值是NSString类型。例如在iBook中app的ID,是iOS8中新添加的,支持iOS8以后的系统版本。
//
//SKStoreProductParameterCampaignToken是混合令牌,该Key所关联的值是一个40byte的NSString类型,使用这个令牌,你能看到点击和销售的数据报告。支持iOS8以后的系统版本。
//SKStoreProductParameterProviderToken      该Key所关联的值是NSString类型  分析提供者令牌(NSString) 8.3
//SKStoreProductParameterAdvertisingPartnerToken        该Key所关联的值是NSString类型  广告合作伙伴令牌(NSString) 9.3