Apple在iOS 11中引入了推荐的应用程序内购买.虽然我已经实现了新的必需SKPaymentTransactionObserver方法,paymentQueue:shouldAddStorePayment:for:,但我无法成功测试"购买"项目.是否应该能够在Sandbox测试环境中进行测试和购买?
Apple确实讨论了通过表单的URL启动测试:
ITMS服务://行动= purchaseIntent&bundleId = com.example.app及产品识别= com.example.app.myIAP
我把URL放在给自己的电子邮件中.当我点击URL时,我得到以下顺序:
1)切换到MyApp,并使用带有我的产品标识符的产品调用shouldAddStorePayment,com.example.app.myIAP(鼓励开始)
2)有paymentQueue:shouldAddStorePayment:for:return true.
3)paymentQueue:updatedTransactions:被调用,具有"购买"(但未购买)状态的交易.它有一个nil transactionIdentifier.
4)弹出警告说要登录.我使用沙盒Apple ID登录 - 点击登录警报上的"购买"按钮.
5)另一个弹出说登录.我使用沙盒Apple ID登录 - 点击登录警报上的"购买"按钮.
6)paymentQueue:updatedTransactions:被调用,事务处于"失败"状态.它有一个非零的transactionIdentifier.
shouldAddStorePayment例程应该做些额外的事吗?