我正在进行应用内购买功能.今天我遇到了一个奇怪的问题.
我尝试通过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/
干杯…..