gpt4 book ai didi

ios - 当 playerviewcontroller 不再可用时,在哪里放置 registerForRemoteNotifications

转载 作者:行者123 更新时间:2023-11-29 01:33:43 26 4
gpt4 key购买 nike

我的应用有一个 MainViewController、一个 PlaylistViewController 和一个 PlayerViewController。

当您返回主屏幕时,一切正常,在后台播放音频。

PlayerViewController 在其 viewDidAppear 中调用 registerForRemoteNotifications 以捕获来自控制中心和耳机控件的通知。当此 Controller 位于前台时,会收到来自控制中心/耳机的通知,并且暂停/播放工作正常。

但是,如果在播放音频时返回 PlayListViewController 或 MainViewController,然后返回到主屏幕(音频仍在正常播放),但是来自控制中心的远程通知不再发送到 PlayerViewController,显然是因为它不再存在。

为了做到这一点,我是否需要在 AppDelegate 和 PlayerViewController 中创建静态 AVAudioPlayer 对象,并将 registerForRemoteNotifications 与 PlayerViewController 中的逻辑一起移动到 AppDelegate 以处理来自控制中心和耳机设备的暂停/播放并访问我的 PlayerViewController 中的 AppDelegates 静态对象?

最佳答案

整个远程通知逻辑应该位于应用程序委托(delegate)类中,因为这是在应用程序生命周期中唯一可靠地存在的类。

由于可以使用以下方式从任何地方访问应用程序委托(delegate)

let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate

您可以创建对其他类的引用或实现委托(delegate)方法,以便能够正确处理通知。

关于ios - 当 playerviewcontroller 不再可用时,在哪里放置 registerForRemoteNotifications,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33188680/

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