【问题标题】:How to test an iOS application on the CarPlay simulator如何在 CarPlay 模拟器上测试 iOS 应用程序
【发布时间】:2017-07-20 11:20:04
【问题描述】:

我正在尝试开发与 CarPlay 兼容的 iOS 应用程序。

根据这篇帖子Is iOS CarPlay API Public? How to Integrate CarPlay?,我必须注册 Apple 的 MFi 计划,但我注意到有可能使用带有 Xcode 的 CarPlay 模拟器:启动模拟器,然后 硬件 -> 外部显示器 -> CarPlay(我使用 Xcode 8)。 打开它后,您会看到 Message App 正在 CarPlay 模拟器中运行,因此我想有可能在此模拟器中尝试自定义应用程序,而无需注册 MFi 程序。 我想知道是否有人尝试在 CarPlay 模拟器上启动应用程序,如果得到肯定回答,他可以解释他是如何做到的。

我还观看了 WWDC 2016(https://developer.apple.com/videos/play/wwdc2016/722/ 用 Safari 打开),它解释了 CarPlay 系统及其工作原理。在本演示文稿的最后,他们说您必须在 Info.plist 的 SupportExternalAccessoryProtocols 键中声明一个字符串协议名称(如 com.brand 文件,但我不明白如何获取字符串协议名称。

我也没有找到任何关于模拟器以及如何开发与之兼容的应用程序的信息。

如果有人知道有关它的信息,那将是一个很大的帮助。

提前致谢。

【问题讨论】:

    标签: ios ios-simulator mfi wwdc carplay


    【解决方案1】:

    您无需为SupportExternalAccessoryProtocols 键添加任何内容即可在模拟器中运行基本的 CarPlay 应用程序。这是为了声明可能特定于一组特定主机单元的功能协议。

    您可能缺少的是可播放的内容权利。如果您没有权利文件,则需要为您的应用创建它;-

    然后为com.apple.developer.playable-content键添加一个布尔值YES

    这应该会在模拟器的 CarPlay 主屏幕上显示您的应用。正如您所提到的,除非您可以让 Apple 将该权利添加到您的帐户中,否则您将无法在物理设备上运行该应用程序

    【讨论】:

    • 我已将密钥添加到 info.plist 但我仍然无法在模拟器上看到我的应用程序。我还创建了另一个 .plist 并将密钥放在这个新文件中,但它不起作用......
    • 我还看到,如果我想开发一个与 CarPlay 兼容的音频应用程序,我必须使用一些“特殊”类,比如这个 link 并指定“没有CarPlay 主屏幕上不会出现正确的授权。”
    • 密钥在权利文件中,而不是在 Info.plist 中。这上周对我有用
    • 不幸的是,这就是我在回答的最后一段中提到的。除非 Apple 授予您在开发者帐户的配置文件中使用的可播放内容权利,否则您将无法在包含该权利的设备应用程序版本上签名或运行。与您可能添加到应用 ID 的许多其他功能(例如推送通知、iCloud 等)不同,您不能自己添加此功能,它必须通过 MFi 程序的应用程序获得 Apple 的批准。
    • 感谢您的帮助 :) 如果您想开发一些与 CarPlay 兼容的音频应用程序,此链接可能会有所帮助[链接] (slideshare.net/yuujihato/carplay)
    【解决方案2】:

    从 iOS 12 开始,基于导航的应用程序现在拥有 com.apple.developer.carplay-maps 的权利,其工作方式与 com.apple.developer.playable-content 相同,因此您可以在模拟器中测试您的应用程序。您可能需要使用终端命令 defaults write com.apple.iphonesimulator CarPlay -bool YES 启用 CarPlay 模拟器才能显示它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-21
      • 2014-12-31
      • 1970-01-01
      • 2020-05-11
      • 1970-01-01
      • 2015-04-12
      相关资源
      最近更新 更多