今天博主有一個跳轉appStore評分的需求,遇到了一些困難點,在此和大家分享,希望能夠共同進步.
跳轉到AppStore讓用戶能夠給我們的應用進行評分,有兩種方法,一種是跳出應用,跳轉到AppStore,進行評分.另一種是在應用內,內置AppStore進行評分.
PS:appleID在https://itunesconnect.apple.com中創建應用即可在應用界面獲得
1.跳出應用,跳轉到AppStore,進行評分
如果是7.0以前的系統
NSString *str = [NSString stringWithFormat:@"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=xxxxxx" ];
[[UIapplication sharedApplication] openURL:[NSURL URLWithString:str]];
如果是7.0以后的系統
NSString *str = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/app/idxxxxxxx"];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
2.在應用內,內置AppStore進行評分
蘋果提供了一個框架StoreKit.framework,導入StoreKit.framework,在需要跳轉的控制器里面添加頭文件 #import <StoreKit/StoreKit.h>, 實現代理方法:< SKStorePRoductViewControllerDelegate >
//自定義方法
- (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:^{
}];
}
}];
}
//AppStore取消按鈕監聽
- (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController
{
[self dismissViewControllerAnimated:YES completion:^{
}];
}
新聞熱點
疑難解答