应用内购买:请求产品随机获取一些有效产品和一些无效产品?

时间:2016-09-28 11:16:22

标签: ios in-app-purchase

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

我尝试按SKProductsRequest获取列表产品。问题是:有时我会收到invalidProductIdentifiers,但有时我会收到有效的产品。

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

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

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

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

请帮忙。

谢谢。

2 个答案:

答案 0 :(得分:2)

首先检查你的应用程序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/

干杯.....

答案 1 :(得分:0)

谢谢大家。

“但有一天会出现问题”。有一天,它消失了。

我认为这是Apple的错误。