应用程序未在任何iPhone的外部显示扩展程序中显示

时间:2018-11-26 11:06:14

标签: ios ios-simulator carplay

我用Xcode创建了一个新应用,并在AppDelegate文件中添加了以下代码

    func updateCarWindow()
    {
        guard let screen = UIScreen.screens.first(where: { $0.traitCollection.userInterfaceIdiom == .carPlay })
            else
        {
            // CarPlay is not connected
            self.carWindow = nil;
            return
        }

        // CarPlay is connected
        let carWindow = UIWindow(frame: screen.bounds)
        carWindow.screen = screen
        carWindow.makeKeyAndVisible()
        carWindow.rootViewController = CarViewController(nibName: nil, bundle: nil)
        self.carWindow = carWindow
    }

并在函数应用程序中调用该函数。该应用程序未显示在CarPlay外部显示屏中。

1 个答案:

答案 0 :(得分:0)

您无法直接访问汽车游戏屏幕,汽车游戏使用CPInterfaceController类来管理所有内容,该类可以显示所谓的模板(例如CPListTemplate和其他一些模板)。您在屏幕上绘制的能力几乎仅限于在CPMapContentWindow中绘制地图。 我建议您先从这里开始阅读Apple文档: chrome app mode

别忘了设置正确的应用程序权限和汽车游戏权利,否则它将根本无法工作,并且可能无法告诉您原因。

最后一个结论是,Carplay框架仅应与导航应用程序一起使用。其他所有操作都需要很多变通办法,更不用说它永远不会通过应用程序审查。 希望这会有所帮助