【发布时间】:2014-10-17 22:24:43
【问题描述】:
我的应用内购买完美无缺,但如果我的 iPhone 没有连接 Wi-Fi 并且使用信号缓慢或没有信号的蜂窝连接,我会收到以下消息:
由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“无效的产品标识符:(null)”
我应该在启用购买按钮之前检查互联网连接吗?我希望有更简单的方法。我所需要的只是从StoreKit. 中捕获任何连接错误
更新
对于我的应用内购买代码,我使用了一点修改 this guide from raywenderlich.com. 你也可以下载 the test project.
我的应用适用于 iOS 8 和 7,而本教程适用于 iOS 6。也许这是个问题。
我只添加了(void)paymentQueue:(SKPaymentQueue *)queue
restoreCompletedTransactionsFailedWithError:(NSError *)error 用于在恢复应用程序时捕获错误和SKPaymentTransactionStateDeferred 案例。
【问题讨论】:
-
您应该修复您发布的错误的原因。您的代码似乎没有进行正确的结果检查。无论您是否进行适当的“可达性”检查,都应该这样做。
-
@rmaddy 我用源代码链接更新了问题。感谢您的评论。
-
您无需要求人们下载、构建和测试您的应用,只需在您的问题中发布相关代码即可。相关代码是实际导致崩溃的代码。
标签: ios in-app-purchase storekit