这真让我抓狂。
我正在尝试调试使用应用内购买的应用。
我使用以下简单的代码来获取我的产品(我只有一个产品):
NSSet *productIdentifiers = [NSSet setWithObject:PRODUCT_ID];
SKProductsRequest *request = [[[SKProductsRequest alloc] initWithProductIdentifiers:productIdentifiers] autorelease];
request.delegate = self;
[request start];
response.products
在运行 iOS5 及更高版本的设备上,我将我的产品重新置于productsRequest:didReceiveResponse:
. 我还可以在这些设备上下订单(使用测试用户)。
在运行 iOS 4.01 的设备上,我得到一个空数组,response.products
我的产品 id 在response.invalidProductIdentifiers
. 如果我尝试忽略产品信息并 addPayment:
使用相同的产品 ID 在此设备上调用,我将SKPaymentTransactionStateFailed
进入paymentQueue:updatedTransactions:
.
显然我的设置是正确的,因为在我的 iOS5+ 设备上一切正常。
我还检查并尝试了http://troybrant.net/blog/2010/01/invalid-product-ids/中的所有内容,但均无济于事。
有任何想法吗?你认为我在这种情况下提交应用程序安全吗?