gpt4 book ai didi

cocoa - tvOS applicationDidBecomeActive 在电视关闭时重复调用

转载 作者:行者123 更新时间:2023-12-03 17:08:46 25 4
gpt4 key购买 nike

在带有 RevenueCat 的 tvOS 13.4 上,当我在 4K 电视设备上运行我的应用程序,然后关闭电视(让应用程序保持运行)时,我得到以下信息:

2020-05-10 12:21:59-0700 MyApp[709:1904667] [Purchases] - INFO: Subscriber attributes synced successfully
2020-05-10 12:22:01-0700 MyApp[709:1904667] [Purchases] - INFO: Subscriber attributes synced successfully
2020-05-10 12:22:01-0700 MyApp[709:1904667] [Purchases] - DEBUG: applicationDidBecomeActive
2020-05-10 12:22:05-0700 MyApp[709:1904667] [Purchases] - INFO: Subscriber attributes synced successfully
2020-05-10 12:22:07-0700 MyApp[709:1904667] [Purchases] - INFO: Subscriber attributes synced successfully
2020-05-10 12:22:07-0700 MyApp[709:1904667] [Purchases] - DEBUG: applicationDidBecomeActive
2020-05-10 12:22:11.0700 MyApp[709:1904667] [Purchases] - INFO: Subscriber attributes synced successfully
2020-05-10 12:22:13-0700 MyApp[709:1904667] [Purchases] - INFO: Subscriber attributes synced successfully
2020-05-10 12:22:13-0700 MyApp[709:1904667] [Purchases] - DEBUG: applicationDidBecomeActive
2020-05-10 12:22:14-0700 MyApp[709:1904667] [Purchases] - INFO: Subscriber attributes synced successfully
2020-05-10 12:22:19-0700 MyApp[709:1904667] [Purchases] - INFO: Subscriber attributes synced successfully
2020-05-10 12:22:19-0700 MyApp[709:1904667] [Purchases] - DEBUG: applicationDidBecomeActive

为什么要这样做?显然它知道电视已关闭,因为当我重新打开它时,它停止执行这些重复的调用。

堆栈跟踪中在此之前的唯一调用是私有(private)函数:

#1 0x00000001e36c8398 in -[UIApplication _stopDeactivatingForReason:] ()

最佳答案

我在 RevenueCat 工作,让我添加一些背景信息:

这是由版本 3.1.0 -> 3.2.2 中存在的 purchases-ios 中的错误引起的,其中日志即使方法无操作,如果没有任何需要同步的订户属性(这将是您的情况,除非它们经常被设置为不同的值),也会发出。

它将在本周发布的下一个版本 3.2.3 中修复(以及其他修复)。

发生的情况是,每当应用程序处于前台或后台时,RevenueCat 都会尝试同步订阅者属性 ( https://docs.revenuecat.com/docs/subscriber-attributes )。当 UIApplicationDidBecomeActiveNotificationUIApplicationWillResignActiveNotification 被触发时,应用程序在 tvOS 上被视为前台/后台。如果没有需要同步的属性,该方法会提前退出,但当前版本仍然会发出日志,表明它们已同步成功。

我不太清楚为什么 tvOS 在电视关闭时触发这两个通知,但我会深入研究一下并让您知道。

不过,再次澄清一下,除非在前台或后台之间设置了新的订阅者属性,或者除非将它们设置为与当前值不同的值,否则该方法不会执行任何操作。

关于cocoa - tvOS applicationDidBecomeActive 在电视关闭时重复调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61717597/

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