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字典中没有任何拼写错误或意外键。 验证SKStoreProductParameterITunesItemIdentifierSKStoreProductParameterAffiliateToken等键的值是否有效。


如果你在测试设备上没有遇到这个问题,只需再次发送它,这可能是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。

链接地址: http://www.djcxy.com/p/82459.html

上一篇: SKStoreProductViewController error ITMLKITErrorDomain 101

下一篇: when to update the tag @author in PHPdoc?