尝试运行ARKit Test时无法运行会话

时间:2017-07-06 10:35:47

标签: ios iphone swift xcode arkit

我正在试图弄清楚ARKit是如何工作的。因此,我从GitHub下载了两个不同的项目。

1 - )https://github.com/brianadvent/Simple-ARKit-Game

2 - )https://github.com/exyte/ARTetris

我们都得到“无法运行会话,此设备不支持配置: “错误。 我在Xcode和iOS上运行最新版本的beta。

编辑:我在Viewcontroller中有这个代码。不应该有用吗?

private func getSessionConfiguration() -> ARSessionConfiguration {
    if ARWorldTrackingSessionConfiguration.isSupported {
        // Create a session configuration
        let configuration = ARWorldTrackingSessionConfiguration()
        configuration.planeDetection = .horizontal
        return configuration;
    } else {
        // Slightly less immersive AR experience due to lower end processor
        return ARSessionConfiguration()
    }
}

1 个答案:

答案 0 :(得分:3)

您必须将在两个项目中设置为配置的变量ARWorldTrackingSessionConfiguration更改为正常ARSessionConfiguration。考虑一下,如果你这样做,你只能获得设备的方向而不是它在现实世界中的位置!所以它可能是,应用程序不能正常工作。您也可以更改为支持ARWorldTrackingSessionConfiguration的其他设备,然后一切都应该没问题,但iPhone 6例如无法做到这一点。

由于karthik仅提到6s和6s加,7和7s加上支持WorldTracking配置。它也在iPad(第五代)AFAIK上工作。

<强>更新 我认为问题在于iPhone 6只有A8处理器。 ARKit模块有一个重要的通知,上面写着:

  

重要   ARKit需要具有A9或更高版本处理器的iOS设备。

     

要使您的应用仅在支持ARKit的设备上使用,请使用应用UIRequiredDeviceCapabilities的{​​{1}}部分中的arkit密钥。如果增强现实是您应用的辅助功能,请使用   则isSupported    用于确定当前设备是否支持您要使用的会话配置的属性。

如果你看一下Simple-ARGame,你可以看到,Touches将被收听,但计算得非常慢。我查看了它所说的iPhone 6的技术Dokumentation,它只有一个A8处理器。所以你可能需要用另一台设备测试ARKit。