gpt4 book ai didi

ios - iOS 发件人进入后台时 GCKChannel 断开连接

转载 作者:可可西里 更新时间:2023-11-01 04:46:45 25 4
gpt4 key购买 nike

我注意到在我的应用程序进入后台(或屏幕锁定)后 GCKChannel 将断开连接,并将在我的应用程序回到前台后再次连接。

下面是 channel didDisconnect的调用栈,看起来是GCKCastSocket注册通知UIApplicationDidEnterBackgroundNotification。

#0  0x001cac58 in -[MyChannel didDisconnect]
#1 0x001feb72 in -[GCKDeviceManager castSocket:didDisconnectWithError:] at GCKDeviceManager.m:692
#2 0x001f8902 in -[GCKCastSocket doTeardownWithError:] at GCKCastSocket.m:187
#3 0x001f8508 in -[GCKCastSocket disconnect] at GCKCastSocket.m:133
#4 0x30b35e70 in __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ ()

我正在尝试遵循设计 list :https://developers.google.com/cast/docs/design_checklist#sender-control-lockscreen

这会导致当用户锁定他们的 iDevice 时,我的应用程序无法从我的接收器应用程序获取更新。

虽然 iOS 不需要,我认为在不解锁设备的情况下控制我的接收器应用程序是一项重要的可用性功能...

我的发送器应用程序 Hook 远程控制事件,将信息推送到 MPNowPlayingInfoCenter,并监控系统音量变化事件以创建最佳用户体验。

如果我无法在后台继续接收/发送来自/向接收器应用程序的消息,锁屏中的控件是无用的,并且会有过时的信息,我相信大多数用户在收听/观看电视 (Chromecast) 时不会保持设备屏幕打开...

有什么解决办法吗?

最佳答案

是的,没错。当应用程序后台时, channel 将隐式断开连接。如果您正在管理锁定屏幕控件,您应该能够使用 GCKDeviceManager 上的 ignoreAppStateNotifications 禁用此行为 initWithDevice:clientPackageName:ignoreAppStateNotifications初始化程序。

您有责任在需要时在后台管理断开连接 - 有关更多信息,请参阅文档中的注释。

关于ios - iOS 发件人进入后台时 GCKChannel 断开连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22003310/

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