我们希望构建一个也支持 Android Auto 和 Apple Carplay 的应用程序。我们正在使用 Angular/Ionic,但我无法确定它是否在汽车系统中运行。
有人有这方面的经验或答案吗?
我正在为 CarPlay 开发导航应用程序,在 iOS 12 中有两种来自 CPApplicationDelegate 的方法来检测 CarPlay 是否开启:
func application(_ application: UIApplication, didConnectCarInterfaceController interfaceController: CPInterfaceController, to window: CPWindow)
Run Code Online (Sandbox Code Playgroud)
和
func application(_ application: UIApplication, didDisconnectCarInterfaceController interfaceController: CPInterfaceController, from window: CPWindow)
Run Code Online (Sandbox Code Playgroud)
在 iOS 13 中,这些方法已被弃用,Apple 提供了新的委托:CPTemplateApplicationSceneDelegate
我尝试将这个新委托 CPTemplateApplicationSceneDelegate 连接到我的服务,该服务提供 CarPlay 的所有操作,但我认为可以帮助我的功能是:
func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration
Run Code Online (Sandbox Code Playgroud)
所以我的问题是如何检测 CarPlay 是否已连接,以及如何为在新 iOS 13 CarPlay 的一个窗口中启动的 CarPlay 提供操作。
我需要检查iOS Carplay的工作原理以及如何在模拟器上启动它。有人可以阐明如何开始使用Carplay以及如何使用Xcode 6.1 iOS模拟器启动它。
我正在开发一个支持CarPlay的应用程序。这是一个音频应用程序。
尽管我不知道如何显示“正在播放”选项卡,但我能够显示2个选项卡(“收藏夹”和“推荐”)。我只是找不到有关此的任何信息。我是否必须手动显示它,以及如何推送?我必须手动进行吗?如果是这样,那么视图控制器是什么?
谢谢。
有没有办法在应用程序中检测手机是否使用 Carplay 与汽车连接/断开连接?似乎找不到任何关于它的文档。我正在考虑一些我可以监控的系统事件。
有没有办法在实际设备上运行汽车游戏应用程序。我可以在汽车游戏模拟器上运行该应用程序,但我的应用程序不会出现在实际的主机设备上。我有一个名为 car play 的开发配置文件,它在 iOS 设备上运行,但不会出现在主机上。
我在互联网上搜索过,但没有找到任何关于此的好帖子。任何帮助将不胜感激。
谢谢
在 Xcode 11 GM 版本中无法在模拟器中启动 Car Play 音频应用程序。模拟器卡在加载屏幕上,然后显示“无法连接”错误。有时在应用程序启动时仅显示黑屏或崩溃。
在调试时,我看到 MPPlayableContentDataSource 和 MPPlayableContentDelegate 中的方法不会触发。在 Xcode 10 上一切正常,所以它看起来像是新 Xcode 11 中的一些错误。也许有人知道如何解决这个问题?
确实谢谢。

我们有一个可运行的 flutter 应用程序,可与 Google 地图配合使用,并且在驾驶时非常有用。我们正在寻求构建 Android-Auto/CarPlay 集成。我们找到了一个不错的项目 Flutter_carplay ( https://pub.dev/packages/flutter_carplay ),它可以让 CarPlay 更轻松地集成到我们的应用程序中。但是,我还没有找到类似的 Android Auto Integration 项目。有两种方法,我正在考虑:
Flutter 支持运行本机代码。因此,我们可以使用 Kotlin/Java 构建 Android Auto 屏幕并从 flutter 应用程序运行它们。这可能会有点耗时。
有没有类似 flutter_carplay 的项目可以使这项任务变得更容易?
任何帮助将不胜感激。
如何在用户在 Carplay 中滚动时延迟加载项目?
我正在使用 MPPlayableContentDataSource 中的 beginLoadingChildItems 来加载第一组项目,但是当用户滚动到页面底部时如何调用下一页?
自从测试版发布以来,我一直在玩 SwiftUI,并且很好奇是否有人找到了使用 SwiftUI 在 Xcode 中设计 CarPlay 的方法?它似乎在 Apple 的设备列表中不可用,到目前为止我还没有找到一种方法将它启用为辅助屏幕。
目前使用 Xcode 11 Beta 5。尝试查看 CarPlay 是否可以添加为 .previewDevice,但这是专门针对硬件的。
我有一个完整的 SwiftUI 项目/应用程序(在 AppStore 中),我想添加一些 CarPlay 功能。我已正确设置权利,并且能够在 CarPlay 模拟器上看到该图标。
我已经尝试了具有各种类配置的各种 info.plist 配置,并且仅在模拟器中启动应用程序时才发生崩溃。
我对显示视图的方式有点困惑。我想从一个简单的“Hello world”开始,但即使这样也很有挑战性:)
这个问题似乎是我需要的,但没有详细介绍 AppDelegate 配置。
iOS 15.4 - SwiftUI + CarPlay - 状态未更新
这看起来很有希望,但对我来说又不够详细:
https://dev.to/nitricware/adding-carplay-to-a-swiftui-life-cycle-app-h9h
这也是,但我怀疑这是一种较旧的显示视图的方式。
https://www.adapptor.com.au/blog/enhance-existing-apps-with-carplay
如果我能通过简单的“Hello World”获得帮助,我将不胜感激!
来自信息.plist
<key>UIApplicationSceneManifest</key>
<dict>
<key>UIApplicationSupportsMultipleScenes</key>
<true/>
<key>UISceneConfigurations</key>
<dict>
<key>CPTemplateApplicationSceneSessionRoleApplication</key>
<array>
<dict>
<key>UISceneDelegateClassName</key>
<string>$(PRODUCT_MODULE_NAME).CarPlaySceneDelegate</string>
</dict>
</array>
</dict>
</dict>
Run Code Online (Sandbox Code Playgroud)
CarPlaySceneDelegate.swift
import Foundation
import CarPlay
class CarPlaySceneDelegate: UIResponder, CPTemplateApplicationSceneDelegate {
func templateApplicationScene(_ templateApplicationScene: CPTemplateApplicationScene,
didConnect interfaceController: CPInterfaceController) {
let screen = CPInformationTemplate(title: "Root", layout: .leading, items: [CPInformationItem(title: "Hello", detail: "CarPlay")], actions: [])
interfaceController.setRootTemplate(screen, …Run Code Online (Sandbox Code Playgroud)