StoreKit Sandbox购买失败并显示“确认您的IAP”对话框(“无法连接到iTunes Store”代码0)

时间:2017-03-31 20:17:41

标签: ios in-app-purchase storekit

更新:问题自行解决。看起来这是Apple的问题。

我正在尝试使用StoreKit测试我的应用程序内购买的实现:

  • 使用实际设备,
  • 在iTunes Connect上创建多个沙盒帐户后,在我的iOS设备上退出App Store上的实际帐户后,
  • 使用非消耗品。

然而,我得到了一个奇怪的错误;尽管App Store“确认您的IAP”警报出现,但交易失败。以下是经过数小时调试后的概要:

  1. viewDidLoad中,我将视图控制器实例(self)作为观察者添加到SKPaymentQueue,并启动SKProductsRequest,再次将其委托设置为{{ 1}}。
  2. self中,我将productsRequest(_:didReceive:)对象存储在视图控制器中。根据需要更新UI。
  3. 用户通过实例化SKProduct对象并将其添加到SKPayment,点击购买产品的按钮。
  4. SKPaymentQueue收到paymentQueue(_:updatedTransactions:)transactionState的交易对象。到目前为止一切都很好。
  5. 弹出App Store对话框并要求用户登录iTunes,然后“确认您的IAP [环境:沙盒]”。
  6. 在弹出后一个对话框后,在没有用户输入的情况下,.purchasing会立即收到paymentQueue(_:updatedTransactions:)transactionState的交易对象。 .failed属性表示设备“无法连接到iTunes Store”,错误代码为0。
  7. 我尝试使用新的iTunes Connect Sandbox帐户和多个设备执行相同操作,但结果始终相同。我该怎么办?

    iTunes Connect上的IAP标记为“准备提交”,所以我认为不是因为我没有在ITC上正确配置它。

    Simplified Gist

    编辑:详细说明,IAP以前工作过。我尝试运行我的代码的早期版本,当它曾经工作时,但同样的错误发生。

1 个答案:

答案 0 :(得分:1)

不是你。目前还有许多其他开发人员遇到同样的问题。最大的列表活动问题列表是here

问题的时机恰逢iOS 10.3和XCode 8.3的发布。随着Apple Pay在台湾推出。这是Apple的后端服务器的一个问题。我们所能做的最好的就是提交错误报告并等待。