我正在进行应用内购买功能。今天我遇到了一个奇怪的问题。
我尝试按SKProductsRequest
获取列表产品。问题是:有时我会收到invalidProductIdentifiers
,但有时我会收到有效的产品。
SKProductsRequest *productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithObjects:objects]];
productsRequest.delegate = self;
[productsRequest start];
例如:我发送了获取30种产品信息的请求:有时会获得10种产品有效,有时为0,有时为30,......太奇怪了。
过去,它运作良好。但有一天问题就出现了。
我尝试了一天(搜索并询问了我的同事),但仍然无法弄清楚原因。
请帮忙。
谢谢。
答案 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的错误。