SKStoreProductViewController错误ITMLKITErrorDomain 101
在我的应用程序中,我使用SKStoreProductViewController显示更多应用程序,但Apple Store审核团队拒绝它的原因如下:
“点击更多应用程序按钮时会显示错误消息。”
当我在我的设备上测试时,一切正常。
下面是苹果给我发来的截图,可能是什么问题?
示例代码:
__weak typeof(self) weakSelf = self;
SKStoreProductViewController* vc = [[SKStoreProductViewController alloc] init];
vc.delegate = self;
[vc loadProductWithParameters:@{SKStoreProductParameterITunesItemIdentifier : @1000000000} completionBlock:^(BOOL result, NSError * _Nullable error) {
if(result==NO){
//handle failure
return;
}
[weakSelf presentViewController:vc animated:YES completion:nil];
}];
当SKStoreProductViewController
尝试使用无效参数调用loadProductWithParameters
时,经常会发生ITMLKitErrorDomain
错误。 示例完整错误:
<Warning>: [SKStoreProductViewController]: Did fail with error: Error Domain=ITMLKitErrorDomain Code=101 "The operation couldn’t be completed. (ITMLKitErrorDomain error 101.)" UserInfo={ ... } {ITMLKitErrorHTTPStatus=400}
在调用loadProductWithParameters
时,验证您的parameters
字典中没有任何拼写错误或意外键。 验证SKStoreProductParameterITunesItemIdentifier
和SKStoreProductParameterAffiliateToken
等键的值是否有效。
如果你在测试设备上没有遇到这个问题,只需再次发送它,这可能是iTunes网站的一个临时问题(它用来显示这些“更多的应用程序”,不是吗?)。 没有任何解决方案,互联网上有几个提到这个问题。
在对你的问题进行调查时,可以得出结论:在SkProductViewController
情况下,可能与错误的产品ID相关的情况非常罕见。 你也应该检查你是否试图显示单个应用程序或它们的数量。 由于Apple有与显示多个项目有关的错误。
我以这种方式使用SKStoreProductViewController。 这是在App Store中显示应用程序的代码块:
SKStoreProductViewController *storeProductViewController = [[SKStoreProductViewController alloc] init];
[storeProductViewController setDelegate:self];
[storeProductViewController loadProductWithParameters:@{SKStoreProductParameterITunesItemIdentifier : @"xxxxx"} completionBlock:^(BOOL result, NSError *error) {
if (error) {
NSLog(@"Error %@ with User Info %@.", error, [error userInfo]);
} else {
[self presentViewController:storeProductViewController animated:YES completion:nil];
}
}];
然后我使用这样的委托SKStoreProductViewControllerDelegate
:
- (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController {
[self dismissViewControllerAnimated:YES completion:nil];
}
另外我使用[button setExclusiveTouch:YES];
因为顾客有时会用产品按几下按钮。 如果它是单一产品,也测试你的ID。
上一篇: SKStoreProductViewController error ITMLKITErrorDomain 101