如何开始下载此StoreKit消息?

时间:2013-10-10 17:19:07

标签: iphone ios in-app-purchase storekit

在全新的应用安装中,当我尝试重新购买商品以重新下载时,我的应用会向Store Kit发送购买请求。

然后我得到SKPaymentTransactionStatePurchasing,Store Kit会提示用户确认购买。

然后Store Kit会在iOS 7上回复此消息:“您已购买此应用内购买但尚未下载。”。

然后,Store Kit失败并显示SKPaymentTransactionStateFailed,错误为

以前,StoreKit会让用户重新下载内容。但现在它失败了,错误代码2“无法连接到iTunes Store ”。如果我执行完整还原,则Store Kit允许下载内容,但此特定项​​仍然失败。另请注意,测试设备具有WiFi和稳定的互联网连接,StoreKit能够解决该项目的购买问题。所以这个错误是假的。

这是iOS 7的新变化吗?如何让用户重新下载单个项目而不必强制重新下载所有项目?

根据此Technical Note,如果购买交易尚未完成,则会出现问题。我三重检查我调用完成事务,它在我收到错误后发生。所以交易确实关闭了。

5 个答案:

答案 0 :(得分:1)

您在付款队列中有一些未完成的交易。要完成它们,请在使用paymentQueue.transactions方法添加观察者后立即检查addTransactionObserver:数组。如果它包含某些事务,则按照paymentQueue:updatedTransactions:方法的方式处理它们。 如果不这样做,则不会为它们调用paymentQueue:updatedTransactions:,因为当您注册观察者时它们已经在队列中。

顺便说一句,请确保为所有交易致电finishTransaction:,即使他们失败了。否则他们将留在支付队列中并导致此问题。

答案 1 :(得分:0)

此处的问题相同..我们在iOS 7发布后为我们的应用推出了新的更新。我们现在有很多用户抱怨他们要么无法恢复以前的购买。其他用户抱怨他们的购买成功,但是IAP包没有解锁而没有错误消息..我们在这里有点困惑。

答案 2 :(得分:0)

我有同样的问题!检查几个小时后!我只是重新启动Ipad(iOS7),现在再次开始工作。

答案 3 :(得分:0)

我通过设置应用程序从App Store注销测试帐户来修复此问题 - > App Store - >登出。然后我从iTunes Connect中删除了测试帐户,然后重新启动了设备。

答案 4 :(得分:-1)

我处于类似情况;通过重新启动我的iPhone解决。具体来说,我在Apple的服务器上托管了非消费品。已安装的应用程序到iphone5,购买。删除应用程序,重新安装在另一个版本中,并在还原时,ITunesStore服务器未响应我的托管联系人productIdentifier。再次购买该项目会产生“已购买”错误,无需下载选项。我找到了这个网站http://support.nimblebit.com/customer/portal/articles/672080-problem-making-in-app-purchase-ios-os-x;重新启动我的设备,恢复现在可以识别以前的购买。