应用内购买测试在 IOS 4.01 上失败,适用于 iOS 5+
Posted
技术标签:
【中文标题】应用内购买测试在 IOS 4.01 上失败,适用于 iOS 5+【英文标题】:In-App Purchase test fails on IOS 4.01, works on iOS 5+ 【发布时间】:2012-08-19 14:07:29 【问题描述】:这快把我逼疯了。
我正在尝试调试使用应用内购买的应用。
我使用以下简单的代码来获取我的产品(我只有一个产品):
NSSet *productIdentifiers = [NSSet setWithObject:PRODUCT_ID];
SKProductsRequest *request = [[[SKProductsRequest alloc] initWithProductIdentifiers:productIdentifiers] autorelease];
request.delegate = self;
[request start];
在运行 ios5 及更高版本的设备上,我将我的产品返回到 productsRequest:didReceiveResponse:
的 response.products
属性中。我也可以在这些设备上下订单(使用测试用户)。
在运行 iOS 4.01 的设备上,response.products
中有一个空数组,response.invalidProductIdentifiers
中有我的产品 ID。如果我尝试忽略产品信息并在此设备上使用相同的产品 ID 调用 addPayment:
,我会在 paymentQueue:updatedTransactions:
中收到 SKPaymentTransactionStateFailed
。
显然我的设置是正确的,因为在我的 iOS5+ 设备上一切正常。
我还检查并尝试了http://troybrant.net/blog/2010/01/invalid-product-ids/ 中的所有内容,但均无济于事。
有什么想法吗?您认为我在这种情况下提交应用程序是否安全?
【问题讨论】:
【参考方案1】:这在我调试类似问题时帮助了我 - http://teewe.com/2011/10/24/ios-in-app-purchase-programming-troubleshooting-guide-continuously-updating/
【讨论】:
谢谢...但不幸的是,这份清单相当琐碎,不适用于我的情况。 演练怎么样? troybrant.net/blog/2010/01/in-app-purchases-a-full-walkthrough 谢谢。正如我所说,它确实适用于 iOS 5+。无论如何,我阅读了演练并且我已经完成了所有工作,没有新的见解。以上是关于应用内购买测试在 IOS 4.01 上失败,适用于 iOS 5+的主要内容,如果未能解决你的问题,请参考以下文章
IOS:应用内购买适用于 TestFlight,但不适用于发布