ios - iPhone - 应用内购买失败测试

标签 ios iphone in-app

Apple 声明所有使用应用内购买的应用都必须放这个

[[SKPaymentQueue defaultQueue] addTransactionObserver:self.observer];

在应用程序开始处理任何成功的销售,但由于某种原因设备未收到发布内容的确认。

我正在尝试对此进行测试,尝试在即将完成交易时调用电话,退出应用程序或在交易完成之前停止 Xcode,但由于某种原因,即使我退出 Xcode,iOS 似乎仍在继续处理交易,应用程序永远不会收到 SKPaymentTransactionStateRestored。该应用程序总是收到 SKPaymentTransactionStatePurchased 并且似乎是失败证明(也许新的 iOS 4 比 StoreKit 发布时的 3.2 处理得更好)。

我的问题是:你们知道我可以在这里创建任何情况来生成故障并在应用程序启动时接收 SKPaymentTransactionStateRestored 吗?我需要测试该应用是否适用于这种情况。

谢谢

最佳答案

SKPaymentTransactionStateRestored 仅适用于您调用 restoreCompletedTransactions 时(以便用户可以在新设备上恢复他们的应用内购买)。如果您在未调用 finishTransaction: 的情况下退出应用程序,交易将保留在队列中,您将再次获得 SKPaymentTransactionStatePurchased

关于ios - iPhone - 应用内购买失败测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6720616/

相关文章:

ios - 如何知道 iOS 中的推送通知有什么消息?

ios - iPhone 呈现与桌面浏览器不同的 HTML 表单

ios - 应用内购买、消耗品

android - 应用内消息与推送消息 : Pros and Cons

iOS Kiosk 应用程序 - 应用内电子邮件 - 清除过去/自动完成的电子邮件地址

ios - 获取 Swift5 中的环境类型

android - 如何在 <FlatList> 上显示来自 fetch() 的数组?

ios - 如何将2个UIpickerView添加到一个UIview中?

iphone - iOS 将整个核心数据数据库保存为 JSON 字符串,反之亦然

iphone - 如何在右耳机上播放音频,在左耳机上播放音乐?