Swift - 如何在 iOS 应用中检测 CarPlay 的连接/断开状态?

Posted

技术标签:

【中文标题】Swift - 如何在 iOS 应用中检测 CarPlay 的连接/断开状态?【英文标题】:Swift - How to detect CarPlay's connect/Disconnect status in iOS app? 【发布时间】:2021-07-13 08:20:56 【问题描述】:

我正在开发支持 CarPlay 的音乐应用。有没有办法确定应用程序是否与 Carplay 连接/断开连接?我找不到任何有用的文档。

非常感谢任何见解或文档。

【问题讨论】:

【参考方案1】:

我遇到了和你一样的问题,没有直接的方法可以判断 CarPlay 是否从我在文档中阅读的内容开始。我用来检测用户是否启动 CarPlay 的一种变通方法是使用 MPPlayableContentDelegate 的

func playableContentManager(_ contentManager: MPPlayableContentManager, didUpdate context: MPPlayableContentManagerContext)

您可以在第一次调用它时将布尔值设置为 true,这样您就可以知道它是否是第一次。我知道这个解决方案并不漂亮,但它对我有用。例如,我触发了一个跟踪事件来跟踪用户第一次打开 CarPlay 的时间。我不确定您的用例是什么,因此此解决方案可能不适合您。

这是一些代码,注意布尔值:

class CarPlayContentManager: NSObject, MPPlayableContentDataSource, MPPlayableContentDelegate 

    private var isSetup = false

    ...

    func playableContentManager(_ contentManager: MPPlayableContentManager, didUpdate context: MPPlayableContentManagerContext) 
        
        if !isSetup 
            // Do some stuff that only happens when CarPlay is setup for the first time
            isSetup = true
        
    

仅供参考 - 我不知道如何检测 CarPlay 何时关闭。

【讨论】:

以上是关于Swift - 如何在 iOS 应用中检测 CarPlay 的连接/断开状态?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Swift 在 iOS 中检测多行键盘粘贴事件?

如何检测我的音频流 url 是不是无法被 iOS 设备播放 - swift3

检测图像中的莫尔条纹 - iOS Swift

我如何在 Swift iOS 中检测 UIImageView 中的更改图像

iOS Swift 检测图像旋转

信标接近检测器在iOS swift中不起作用