我正在从旧卡雷过渡到新的ios15 carplay。
我问过carplay苹果公司,现在就拥有它。
所以我放了一些样本代码然后运行。
代码是
func templateApplicationScene(_ templateApplicationScene: CPTemplateApplicationScene, didConnect interfaceController: CPInterfaceController) {
CPLogger.log("in templateApplicationScene didConnect")
self.interfaceController = interfaceController
let screen = CPListTemplate(title: "CarPlay", sections: [])
self.interfaceController!.setRootTemplate(screen, animated: true, completion: { _,_ in
})
}这个方法被击中了,所以我想我是从Application Scene Manifest of info.plist那里得到的。
在那之后,我遇到了崩溃,它说(最后一部分是重要的情况下)。
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unsupported object <CPListTemplate: 0x600001c79b80> <identifier: 8105D933-642B-4111-80D7-C910466237F5, userInfo: (null), tabTitle: (null), tabImage: (null), showsTabBadge: 0> passed to setRootTemplate:animated:completion:. Allowed classes: (null)'大多数搜索结果都有类似于Thread 1: "Unsupported object <CPInformationTemplate: 0x6000012de010> <identifier: 3444D3F1-ECFF-4953-B543-459286E11371, userInfo: (null), tabTitle: (null), tabImage: (null), showsTabBadge: 0> passed to setRootTemplate:animated:completion:. Allowed classes: {(\n CPTabBarTemplate,\n CPListTemplate,\n CPGridTemplate,\n CPAlertTemplate,\n CPVoiceControlTemplate,\n CPNowPlayingTemplate\n)}"的消息。
Allowed classes部件有一些信息。但不是我的。
我在权利信息中添加了正确的信息

我有一个配置,包括carplay-音频选项。

只有一个结果具有“允许的类:(Null)”字符串,即https://githubmemory.com/@oguzhnatly
他说:“这样的事情允许类:(null)几乎不可能发生。通常,它必须包含CarPlay模板的名称。”
我没有有用的东西。
现在我完全迷路了..。
帮帮我!
谢谢
发布于 2022-01-11 16:28:19
在切换到M1 MBP之后,我开始得到这个。我尝试将哪种类型的模板设置为根模板并不重要。在我的旧英特尔Mac电脑上还能工作,所以它似乎是一个M1缺陷。
编辑:我修复了它!
在绕过Apple论坛之后,我发现了一个有同样问题的人,但这个问题是在将arm64添加到排除架构之后才出现的。

我也添加了这个来让编译,所以删除它是很棘手的。但是谷歌已经发布了一个与M1兼容的SDK的测试版,但是它需要手动安装或通过迦太基安装。我删除了旧的SDK,从EXCLUDED_ARCHS中删除了EXCLUDED_ARCHS,安装了beta,并且它工作了!现在,我可以在CarPlay上使用M1模拟器,而不会出错。希望这能帮上忙!
发布于 2022-09-08 01:57:27
用于M1 carplay模拟器用户的更新。Carplay文档已经更新,还有新的Carplay模拟器在苹果开发者的额外下载中。
这是文件的一部分
CarPlay Simulator
CarPlay Simulator is a standalone Mac app that simulates a complete car environment. CarPlay
Simulator is included in the Additional Tools for Xcode package which you can download from
https://developer.apple.com/download/all/.
Using CarPlay Simulator
Locate CarPlay Simulator in the Hardware folder, run it, and connect iPhone using a Lightning
to USB cable. CarPlay starts on iPhone just the same as if you had it connected to a real car.发布于 2021-10-13 11:03:04
根据CarPlay应用程序的类型,您可以和不能显示不同的模板。在CarPlay编程指南的部分中,您可以看到音频应用程序允许哪些模板。此外,我认为只允许一个列表或选项卡模板作为根模板。您试图将哪个模板设置为根?
https://stackoverflow.com/questions/69492765
复制相似问题