ios – 应用程序内购买:请求产品随机获得一些有效的产品和一些无效的产品?

我正在进行应用内购买功能.今天我遇到了一个奇怪的问题.

我尝试通过SKProductsRequest获取列表产品.问题是:有时我收到了invalidProductIdentifiers,但有时我收到了有效的产品.

SKProductsRequest * productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithObjects:objects]];
productsRequest.delegate = self;
[productsRequest start];

例如:我发送请求获取30种产品的信息:有时获得10种产品有效,有时0,有时30,……太奇怪了.

在过去,它运作良好.但有一天问题就出现了.

我试过(搜索并询问我的同事)一天,但仍然无法弄清楚原因.

请帮忙.

谢谢.

最佳答案 首先检查您的应用程序ID不应该是通配符(*),它不能启用应用程序内购买,因此请确保您应该创建一个新的应用程序ID.

如果上述情况不是您的情况,那么您必须在从开发人员帐户创建新产品ID后等待最多24小时,在此期间您的产品ID将从您的应用程序中提取.因为有时苹果需要时间来启用产品ID.

如果以上两者都不是您的情况,那么最后您必须使用以下代码检查您的产品ID是有效还是无效.

- (void)productsRequest:(SKProductsRequest )request didReceiveResponse:(SKProductsResponse )response {

for (NSString *invalidProductId in response.invalidProductIdentifiers)
    {
        NSLog(@"Invalid product id: %@" , invalidProductId);
    }
}

如果您发现产品ID无效,请使用http://troybrant.net/blog/2010/01/invalid-product-ids/

干杯…..

点赞