1. 应用内跳转 到appstore 下载:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://itunes.apple.com/cn/app/id1236753543"]];
2. 应用内直接打开appstore 下载 :
#import <StoreKit/StoreKit.h>
SKStoreProductViewController *storeProductViewContorller = [[SKStoreProductViewController alloc] init];
//设置代理请求为当前控制器本身
storeProductViewContorller.delegate=self;
//加载一个新的视图展示
[storeProductViewContorllerloadProductWithParameters:
//appId唯一的
@{SKStoreProductParameterITunesItemIdentifier : @"1236753543"} completionBlock:^(BOOL result, NSError *error) {
//block回调
if(error){
NSLog(@"error %@ with userInfo %@",error,[erroruserInfo]);
}else{
//模态弹出appstore
[selfpresentViewController:storeProductViewContorlleranimated:YEScompletion:^{
}
];
}
}];
//取消按钮监听
- (void)productViewControllerDidFinish:(SKStoreProductViewController*)viewController{
[self dismissViewControllerAnimated:YES completion:^{
}];
}
应用内直接打开appstore效果如下:
注意点:
1.应用内打开 跳转AppStore时,要保证appStore账号所在国家和app发布的国家是同一个国家。
参考:https://blog.csdn.net/hanhailong18/article/details/78432792
这个方法没有回调,而且没有任何的错误提示。经过半天排查无果后,我拿着可以正常跳转的页面的手机,和不正常跳转的页面的手机进行排查分析,首先从机型排查,发现出现不能正常跳转的页面的手机多种机型都存在;其次我有从操作系统进行排查,发现多个操作系统的手机都有出现无法正常跳转的情况。这两点都无法确定操作系统和机型是造成这种现象的原因。后来无意发现出现无法正常跳转的手机的appStore语言是英文,我猜测是不是登陆的appStore账号所在的国家和要跳转的app发布的市场不在一个国家导致的。为了验证我的猜测,我把不能正常跳转的手机,用国内的appStore账号登陆,重新运行程序,发现OK了。然后我又把可以正常跳转的手机,用国外的appStore账号登陆,重新运行程序,果然不能正常跳转了。所以啊。这个坑大家要注意:
网友评论