Store Kit事务失败

时间:2009-09-02 23:40:28

标签: iphone cocoa-touch app-store transactions storekit

我正在尝试使用iPhone 3.0 SDK测试Store Kit事务。我的代码基于Store Kit编程指南中的示例代码,但我一直收到失败的事务(状态:SKPaymentTransactionStateFailed)。但是,事务的错误属性为零,因此不会对情况有所了解。

当我尝试购买产品时,我可以使用测试帐户登录并接受购买,但随后我会看到一个对话框:

“您已购买此产品但尚未下载。请点击”确定“立即下载。”

当我点击“确定”时,没有任何反应。我的transactionObserver不再收到任何发送给它的消息。

5 个答案:

答案 0 :(得分:4)

我对消耗品有完全相同的问题。事实证明上面的答案是正确的。我的队友意外删除了我的测试帐户。创建一个新的后,一切正常。

答案 1 :(得分:0)

事实证明,我的测试帐户已从iTunes Connect中删除(即使它让我登录)。我创建了一个新的测试帐户,它开始工作。我相信“点击确定立即下载”消息实际上是尝试重新启动事务,然后再次失败。

答案 2 :(得分:0)

我有这个确切的问题,结果我使用的是无效的测试帐户(测试帐户被绑定到与应用程序链接的苹果开发者帐户不同)。检查了测试帐户凭据,一切都很笨拙。

@wdlindmeier:我看到你也有同样的解决方案:我建议你接受这个答案,或者你自己接受这个答案可以帮助任何人。 :)

答案 3 :(得分:0)

我在沙盒环境中遇到了同样的问题,发现它可能与SKPaymentTransactionObserver有关。

当我第一次实现这个时,我确实分配了SKPaymentTransactionObserver,并且只在我开始购买时才添加它。一旦交易成功或失败,我也删除了SKPaymentTransactionObserver。在这种情况下,我发现交易总是未完成, 即使我在删除SKPaymentTransactionObserver之前完成了交易。

所以我的解决方案是,在应用启动时分配SKPaymentTransactionObserver,然后在应用终止之前不要删除它。 “未完成”交易仍然需要正确完成。

希望这对你有用。

答案 4 :(得分:0)

我也一直这样做。 事实证明,你无法在模拟器中测试应用程序购买!