美文网首页UI进价iOS程序猿iOS Developer
App内打开app Store(非浏览器打开)

App内打开app Store(非浏览器打开)

作者: nenhall | 来源:发表于2017-05-05 16:29 被阅读76次

应用内跳转到app store

1,导入苹果商店库
#import <StoreKit/StoreKit.h>

2,添加代理协议
@interface VersionViewController () <SKStoreProductViewControllerDelegate>

3,代码实现:

- (void)openAppStoreWithIdentifier:(NSString *)appId {
    __block SKStoreProductViewController *storeProductVC = [[SKStoreProductViewController alloc] init];
    storeProductVC.delegate = self;
    __weak typeof(self) weakself = self;
    NSDictionary *dict = [NSDictionary dictionaryWithObject:appId forKey:SKStoreProductParameterITunesItemIdentifier];
    [storeProductVC loadProductWithParameters:dict completionBlock:^(BOOL result, NSError *error) {
    /**
    block: 从App Store加载产品信息时要调用的块。完成块在主线程上调用并接收以下参数:
    result: YES如果产品信息成功加载,否则NO。
    error: 如果发生错误,该对象描述错误。如果产品信息已成功加载,则此值为nil。
    */
        if (result) {
            [weakself presentViewController:storeProductVC animated:YES completion:nil];
        }
    }];
}

#pragma mark - SKStoreProductViewControllerDelegate
- (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController {
    [viewController dismissViewControllerAnimated:YES completion:^{
    }];
}
字典说明:
值是你的app id,在网页版的应用界面上可以看到:
eg:微信的id是414478124
https:// itunes.apple.com/cn/app/微信/id414478124?mt=8&v0=WWW-GCCN-ITSTOP100-FREEAPPS&l=&ign-mpt=uo%3D4
键是一个常量:
常量 SKStoreProductParameterITunesItemIdentifier
该标识符的值是NSNumber表示当显示视图控制器时希望商店显示的项目的iTunes标识符的一个实例。

SKStoreProductParameterAffiliateToken
该令牌的值是一个实例NSString,表示您希望用于通过视图控制器进行的任何购买的联属营销标识符。

SKStoreProductParameterCampaignToken
此令牌的值是NSString表示App Analytics广告系列的实例。该值可以包含任何40字节的字符串。

SKStoreProductParameterProviderToken
该令牌的值是一个实例NSString,包含创建由密钥指定的应用程序的开发人员的提供者令牌。

<br />
请在真机上测试。
官方文档参考:
https://developer.apple.com/reference/storekit/skstoreproductviewcontroller?language=objc
()

相关文章

网友评论

本文标题:App内打开app Store(非浏览器打开)

本文链接:https://www.haomeiwen.com/subject/zclstxtx.html