根据Apple文档,最佳做法规定SKPaymentQueue
观察者应添加到didFinishLaunchingWithOptions
并在applicationWillTerminate
中删除。但我注意到applicationWillTerminate
无法保证被调用,而applicationDidEnterBackground
可能会被调用。这样安全吗?
答案 0 :(得分:0)
applicationDidEnterBackground
肯定不是applicationWillTerminate
的替代品。前者表示您的应用已进入后台并将被暂停。当您的应用即将返回前台时,将调用applicationWillEnterForeground
。
如果调用了applicationWillTerminate
,那么您的应用将会终止。重新启动时,将调用didFinishLaunchingWithOptions
。
确实不会总是调用applicationWillTerminate
,但iOS无论如何都无法向已终止的应用程序提供支付交易,因此无法始终删除事务观察者并不重要。