我正在努力实现应用内购买,我真的很担心使用超时方法。从商店加载产品时超时似乎没问题;但我担心的是在购买过程中使用超时。作为我超时的一部分,我认为我需要停止所有处理,我担心这可能很危险,特别是因为涉及付款。但是如果没有超时,恐怕用户可能会无限期地挂起;或者,在不停止处理的超时情况下,用户可以重试该过程,而不知道还有一个进程仍在挂起。我会感谢任何在 iOS 中成功实现此功能的人的最佳实践编码智慧的话。
添加一些注释:我正在使用 MKStoreKit;当我写上面的问题时,我已经把它变成了一个非单例(所以作为超时的一部分,我取消了商店,我认为这是一个坏主意)。现在 store 是一个单例,并且一旦实例化就一直存在。我在加载产品以及购买/恢复时显示活动指示器;从这些操作收到的通知会停止活动指示器。
到目前为止,一切对我来说都很好,但我想知道,从那些已经实施的人那里,你是否经常发现你没有收到通知,或者很长时间没有收到通知。基本上,我想弄清楚是否需要为我的 StoreKit 进程实现超时计时器,即使我收到了通知。