许多应用都有跳转AppStore 评分或者下载的功能,网上有很多文章关于跳转的方法,在此仅仅总结下:
跳转到App Store的应用页面 有两种方法 :
一:使用 SKStoreProductViewController 在应用内进行跳转
苹果提供了StoreKit.framework框架,工程中导入这个框架,在需要跳转的页面引用头文件:#import <StoreKit/SKStoreProductViewController.h>,添加代理并实现代理方法<SKStoreProductViewControllerDelegate>
#pragma mark - 在当前的应用中直接弹出模态视图
- (void)openAppWithIdentifier:(NSString *)appId
{
// 初始化控制器
SKStoreProductViewController *SKStorePVC =[[SKStoreProductViewController alloc]init];
// 设置代理
SKStorePVC.delegate = self;
// 初始化参数
NSDictionary *dict = [NSDictionary dictionaryWithObject:appId forKey:SKStoreProductParameterITunesItemIdentifier];
[SKStorePVC loadProductWithParameters:dict completionBlock:^(BOOL result, NSError * _Nullable error) {
if (error) {
NSLog(@"错误信息:%@",error.userInfo);
}
else
{
// 弹出模态视图
[self presentViewController:SKStorePVC animated:YES completion:nil];
}
}];
}
#pragma mark - SKStoreProductViewController 代理方法
- (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController
{
[viewController dismissViewControllerAnimated:YES completion:nil];
}
二:使用 [[UIApplication sharedApplication] openURL:url]; 打开链接的方式跳转到App Store
前缀 : 可以是下面三种形式
http://
https://
itms-apps:
AppId:就是你要跳转应用的AppID
一:跳转应用首页方法:
前缀+ itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=AppId
前缀+itunes.apple.com/us/app/id+AppId?mt=8
前缀+itunes.apple.com/us/app/apple-store/id+AppId
前缀+itunes.apple.com/app/id+AppId
前缀+itunes.apple.com/us/app/sha-long-zhang-pai/id1066602104?l=zh&ls=1&mt=8 (这个不常用,注 : 中间斜线文本是应用名拼音)
示范代码:
// AppId
NSString *appID = @"1066602104";
// 应用地址
NSString *appStr = [NSString stringWithFormat:@"http://itunes.apple.com/app/id%@",appID];
// 跳转
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
二:跳转到评分页面方法 :
前缀 +
itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=AppId&pageNumber=0&sortOrdering=2&type=Purple+Software&mt=8
示范代码:
// AppId
NSString *appID = @"1066602104";
// 评分地址
NSString *scoreStr = [NSString stringWithFormat: @"https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=%@&pageNumber=0&sortOrdering=2&type=Purple+Software&mt=8",appID];
// 跳转
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
注意:以上要使用真机测试才有效!!!