gpt4 book ai didi

iphone - 如何知道 StoreKit In App Purchases 导致了 applicationWillResignActive?

转载 作者:可可西里 更新时间:2023-11-01 05:10:20 27 4
gpt4 key购买 nike

当您提交应用程序内购买时,它会在询问您是否要购买时引发 applicationWillResignActive,这是否正常?

例如:

    [[SKPaymentQueue defaultQueue] addPayment:payment];

这会导致应用退出事件状态,然后一旦您点击“购买”或“取消”,就会调用 applicationWillEnterForeground。

有没有办法知道是应用内购买导致应用程序退出,以便当它再次进入前台时,我可以标记一些要跳过的内容?

谢谢

最佳答案

好的,这就是我要做的,因为我想不出任何其他方法...

当应用程序重新启动时,它会调用 application:didFinishLaunchingWithOptions,当它从后台启动时,它会调用 applicationWillEnterForeground。在这两种情况下,它总是调用 applicationDidBecomeActive,这是我在发生 IAP 时想要跳过的代码。

当应用程序关闭或移至后台时,它总是调用 applicationWillResignActive,然后调用 applicationDidEnterBackground。

我注意到 IAP 会调用 applicationWillResignActive,然后调用 applicationDidBecomeActive,仅此而已。

所以在 application:didFinishLaunchingWithOptions 中我会设置一个变量 startupDidFinish=1

然后在 applicationWillEnterForeground 中我将设置一个变量 startupForeground=1

在 applicationDidBecomeActive 中我会这样做:

    //SKIP if application resigned active then becomes active again.
if (startupDidFinish == 1 || startupForeground==1) {
//Do normal startup stuff

}
startupDidFinish = 0;
startupForeground = 0;

所以这将允许您跳过 IAP 之类的代码(我认为 SMS 也以相同的方式工作)。

关于iphone - 如何知道 StoreKit In App Purchases 导致了 applicationWillResignActive?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9424302/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com