在iOS模拟器中切换CarPlay和常规窗口

时间:2015-09-22 17:31:27

标签: ios xcode ios-simulator carplay

我正在测试一款具有一些CarPlay功能的应用。我通过使用

更改默认选项来激活模拟器中的CarPlay窗口
defaults write com.apple.iphonesimulator CarPlay -bool YES

在启动CarPlay窗口时非常有效,无论是在调试中编译应用程序后模拟器自动启动还是在应用程序运行时通过Hardware -> External Displays -> CarPlay手动打开CarPlay窗口时在模拟器中。问题在于,在两种情况下,主模拟器窗口变暗(在显示CarPlay启动画面与this image)中手机上看到的相同。

现在,我并不完全知道现实生活中的行为应该是什么,但我无法简单地执行“关闭”#34; CarPlay窗口上的行为并切换回主模拟器窗口,以便显示应用程序(或其他任何内容)。目前,如果我回到模拟器菜单并选择Hardware -> External Displays -> None,CarPlay窗口就会消失,但主模拟器窗口会变黑。

所以,我的问题是,如何模拟CarPlay"关闭"使用模拟器时的行为,如何在主模拟器窗口中取回操作系统?在一个更注重发展的方面,我还想知道我是否以及如何检测到媒体播放器变为“关闭”#34;当CarPlay关闭时,或者更具体地说,如果有人可以编程方式观察CarPlay media control capabilities变为"不可用的事件"。

3 个答案:

答案 0 :(得分:1)

我只能部分回答你的问题。要恢复应用程序本身或操作系统主窗口,只需按下(或模拟按Shift + Cmd + H)主页按钮。

答案 1 :(得分:0)

CarPlay“关机”行为?没有这样的事情。

如果用户与汽车断开连接 - 用户界面就会消失。

如果你想在CarPlay会话中杀死应用程序,只需将iPhone模拟器重新置于焦点并解锁(通过点击主页按钮= Cmd + Shift + H)。然后iPhone应该工作。你应该看到该应用程序关闭。

答案 2 :(得分:0)

如果关闭CarPlay的模拟器窗口,则会向CPApplicationDelegate发射信号。

您需要您的AppDelegate符合此方法:

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

这应该与在真实设备上关闭CarPlay时的情况相同。