在开发中经常需要跳转到AppStore进行下载或者评价。
在iOS6.0后,Apple增加了一个新的功能,当用户需要给APP进行评分的时候,不再需要跳转到AppStore了,可以在应用内置AppStore,苹果提供了一个框架StoreKit.framework。
具体的实现步骤如下:
① 导入StoreKit.framework,在需要跳转的控制器里面添加头文件 #import <StoreKit/StoreKit.h>
② 实现代理方法:< SKStoreProductViewControllerDelegate >
③ 开始编写代码,如下:
#pragma mark - 加载AppStore控制器
- (void)loadAppStoreController
{
// 初始化控制器
SKStoreProductViewController *storeProductViewContorller = [[SKStoreProductViewController alloc] init];
// 设置代理请求为当前控制器本身
storeProductViewContorller.delegate = self;
[storeProductViewContorller loadProductWithParameters:@{SKStoreProductParameterITunesItemIdentifier:kAppId}
completionBlock:^(BOOL result, NSError *error)
{
if(error)
{
NSLog(@"error %@ with userInfo %@",error,[error userInfo]);
}
else
{
// 模态弹出appstore
[self presentViewController:storeProductViewContorller animated:YES completion:^{
}];
}
}];
}
#pragma mark AppStore取消按钮监听
- (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController
{
[self dismissViewControllerAnimated:YES completion:^{
}];
}