gpt4 book ai didi

swift - carPlay 的新代表

转载 作者:行者123 更新时间:2023-12-01 17:32:38 24 4
gpt4 key购买 nike

我正在为 CarPlay 开发导航应用程序,在 iOS 12 中,CPApplicationDelegate 有两种方法可以检测 CarPlay 是否打开:

func application(_ application: UIApplication, didConnectCarInterfaceController interfaceController: CPInterfaceController, to window: CPWindow)

func application(_ application: UIApplication, didDisconnectCarInterfaceController interfaceController: CPInterfaceController, from window: CPWindow)

在 iOS 13 中,这些方法已被弃用,Apple 提供了新的委托(delegate):CPTemplateApplicationSceneDelegate

我尝试将这个新委托(delegate) CPTemplateApplicationSceneDelegate 连接到我的服务,该服务为 CarPlay 提供所有操作,但我看到的唯一可以帮助我的功能是:

func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration

所以我的问题是如何检测 CarPlay 是否已连接以及如何为新 iOS 13 CarPlay 的一个窗口中启动的 CarPlay 提供操作。

最佳答案

----------------------------------------编辑---------------- --------

在常规目标设置中选中“支持多个窗口”。然后在 Info.plist 中将配置添加到您的 carPlay 场景角色 (CPTemplateApplicationSceneSessionRoleApplication),如下所示: CarPlay info configuration瞧!您的委托(delegate)将在

处调用
func templateApplicationScene(_ templateApplicationScene: CPTemplateApplicationScene, didConnect interfaceController: CPInterfaceController, to window: CPWindow)

您可以在其中配置 CarPlay Controller 。

----------------------------------------结束 ---------------- --------

我会尝试这样的事情:

func application(_ application: UIApplication,
configurationForConnecting connectingSceneSession: UISceneSession,
options: UIScene.ConnectionOptions) -> UISceneConfiguration {

if connectingSceneSession.role == UISceneSession.Role.carTemplateApplication {
if let carPlayScene = connectingSceneSession.scene as? CPTemplateApplicationScene {
carPlayScene.delegate = self
}
}

然后在您的委托(delegate)方法中,您应该像 iOS12 中一样设置界面

func templateApplicationScene(_ templateApplicationScene: CPTemplateApplicationScene, didConnect interfaceController: CPInterfaceController, to window: CPWindow)

不知道它是否有效,因为我的 CarPlay 模拟器崩溃了...

关于swift - carPlay 的新代表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57973897/

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