在全新的应用安装中,当我尝试重新购买商品以重新下载时,我的应用会向Store Kit发送购买请求。
然后我得到SKPaymentTransactionStatePurchasing
,Store Kit会提示用户确认购买。
然后Store Kit会在iOS 7上回复此消息:“您已购买此应用内购买但尚未下载。”。
然后,Store Kit失败并显示SKPaymentTransactionStateFailed
,错误为
以前,StoreKit会让用户重新下载内容。但现在它失败了,错误代码2“无法连接到iTunes Store ”。如果我执行完整还原,则Store Kit允许下载内容,但此特定项仍然失败。另请注意,测试设备具有WiFi和稳定的互联网连接,StoreKit能够解决该项目的购买问题。所以这个错误是假的。
这是iOS 7的新变化吗?如何让用户重新下载单个项目而不必强制重新下载所有项目?
根据此Technical Note,如果购买交易尚未完成,则会出现问题。我三重检查我调用完成事务,它在我收到错误后发生。所以交易确实关闭了。
答案 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;重新启动我的设备,恢复现在可以识别以前的购买。