应用内跳转到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
()