Jer*_*emy 5 iphone storekit in-app-purchase ios
我的问题基本上是如何重现我在应用商店中的其他应用中有关应用内购买的行为:
我试图基于观察SKPaymentQueue中事务的状态来显示和隐藏微调器。
此海报描述了我的问题:
在“应用购买”中,用户在后台运行应用时取消了发送:发送状态保持为购买状态
无论测试用户是否先登录,我都会看到与上述帖子相同的行为。交易基本上是“卡在”队列中,并且永远处于购买状态(这意味着我的微调器将永远显示)。当应用程序完全退出并重新启动(而不仅仅是完成多任务处理)后,交易不再在支付队列中,因此显然还没有真正在购买。就像SKPaymentQueue错过了状态更改一样。
我注意到的更多细节是,在典型情况下,添加付款后,交易会立即显示在具有购买状态的队列中。如果用户按“取消”,则事务状态将失败。
如果在添加付款后立即执行任务,则直到任务重新分配给应用程序后,交易才会显示在队列中。与其看到两次对updatedTransactions委托的调用(一个处于购买状态,一个处于失败状态),却只看到一个对具有购买状态的updatedTransactions委托的调用。事务永远不会失败。
偶尔,当任务返回到应用程序时,我会得到一个删除交易的回调(在看到带有购买状态的updatedTransaction之后)。即使在这种情况下,我也从未见过将事务更新到失败状态的预期情况。
我无法在应用程序商店中的应用程序中重现此行为(无论是否执行任务,它们始终正确显示/隐藏微调框),但我不清楚这是否是因为它们在做一些棘手的事情,或者仅仅是沙盒中的问题。
如果不通过监视事务状态来如何复制此行为?在生产中这不是问题吗?
谢谢!
Zeb*_*ebs -1
我的所有应用程序都使用了MKStoreKit 。
它有一个基于块的界面,可以告诉您事务何时开始(隐藏按钮并开始动画)。
它还会告诉您事务是否失败或已完成,因此您可以停止动画并恢复按钮(如果失败)或在完成时显示其他内容。
因为它使用块,所以您可以处理所有这些行为,而无需编写大量样板代码。
| 归档时间: |
|
| 查看次数: |
1440 次 |
| 最近记录: |