我正在试图弄清楚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()
}
}
答案 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。