我正在开发一个支持CarPlay的音乐应用程序。有没有一种方式可以确定应用程序是否已连接/断开与 Carplay 的连接?关于此问题,我找不到任何有用的文档。
非常感谢您提供任何洞察力或文档。
我和你一样遇到了同样的问题,从文档中我没有找到直接判断CarPlay是否启动的方法。我使用的一个解决方法是利用MPPlayableContentDelegate来检测用户是否启动了CarPlay。
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 何时关闭。
func templateApplicationScene(_ templateApplicationScene: CPTemplateApplicationScene,
didDisconnectInterfaceController interfaceController: CPInterfaceController) {
self.interfaceController = nil
}