1、app内评分
以前在app内做评论用的是SKStoreProductViewController
,iOS10.3之后出了个SKStoreReviewController
,前者是模态打开app在AppStore的下载详情页,它既可以文字评论,还可以评分,后者是直接在app内弹出一个alert,它只可以评分。下面列出各自的用法
两者都需要导入头文件 StoreKit
SKStoreProductViewController
SKStoreProductViewController *storeViewController = [[SKStoreProductViewController alloc] init];
//下面这个字典里从key可以看出value应为项目在AppStore中的id,下面以钉钉为例:https://apps.apple.com/cn/app/id930368978
NSDictionary *paraDict = [NSDictionary dictionaryWithObject:@"930368978" forKey:SKStoreProductParameterITunesItemIdentifier];
[storeViewController loadProductWithParameters:paraDict completionBlock:^(BOOL result, NSError * _Nullable error) {
if (error) return ;
[self presentViewController:storeViewController animated:YES completion:nil];
}];
SKStoreReviewController
if (@available(iOS 10.3, *)) {
[SKStoreReviewController requestReview];
}
2、app外跳转评分
https://apps.apple.com/cn/app/id930368978?action=write-review 评论地址 (appstore项目地址加上action=write-review跳转的即是appstore登录者该项目的评论地址)
NSString *urlString = @"https://apps.apple.com/cn/app/id930368978?action=write-review";
if (@available(iOS 10.0, *)) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString] options:@{UIApplicationOpenURLOptionsSourceApplicationKey:@YES} completionHandler:nil];
} else {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];
}