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



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

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

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

他们两个我都得到" 无法运行会话,此设备不支持配置: "错误。 我正在Xcode和iOS中运行最新版本的测试版。

编辑:我在视图控制器中有此代码。不应该行吗?

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()
}
}

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

正如karthik提到的,只有6s和6s加,7和7s加支持WorldTracking配置。它还在iPad(第5代(AFAIK上工作。

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

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

要使您的应用仅在支持 ARKit 的设备上可用,请使用应用Info.plistUIRequiredDeviceCapabilities部分中的 arkit 键。如果增强现实是应用的次要功能,请使用 是支持的 属性来确定当前设备是否支持要使用的会话配置。

如果你看一下Simple-ARGame,你可以看到,触摸将被监听,但计算速度非常慢。我看了iPhone 6的技术文档,上面写着它只有一个A8处理器。因此,您可能必须使用另一台设备测试ARKit。

最新更新