应用内购买测试在 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,但不适用于发布

ios - 活动应用程序中的应用内购买失败

恢复应用内购买是不是适用于 iTunes Connect 上的测试帐户?

iOS 上的亚马逊应用内购买

亚马逊应用内购买如何测试付款

从适用于 Android 的亚马逊应用和游戏开发商处购买应用内