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 的连接/断开状态?的主要内容,如果未能解决你的问题,请参考以下文章
如何检测我的音频流 url 是不是无法被 iOS 设备播放 - swift3