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/