ARKit:如何正确检查支持的设备?

问题描述:

我使用ARKit,但它不是我应用程序的核心功能,所以我没有在UIRequiredDeviceCapabilities中设置arkit密钥。我设置了指令@available(iOS 11.0, *),但ARKit需要A9处理器或以上(即iPhone 6S或更新...)ARKit:如何正确检查支持的设备?

什么是最好的方式来检查?我发现了一个在几个地方涉及checking the device model的解决方法,但它看起来有点复杂。这会在商店的评论中被拒绝吗?

您应该检查ARConfiguration类为此所提供的isSupported布尔值。

From the Apple Developer Documentation:

isSupported

一个布尔值,表示当前的设备是否支持该会话配置类。

全部ARKit配置要求iOS设备使用A9或更高版本的处理器。如果您的应用支持其他设备,并且将增强现实作为次要功能提供,请使用此属性确定是否向用户提供基于增强现实的功能。

+0

谢谢,但事情是,我想表明处理AR视图控制器前检查... – AppsDev

+1

你甚至不需要一个实例 - 'isSupported'是一个类属性,以及类总是存在于iOS 11中,无论你是否可以对实例有用。只需在ARWorldTrackingConfiguration.isSupported {...}中显示AR视图,就可以设置功能。 – rickster

只需检查ARConfiguration可用性。

if (ARConfiguration.isSupported) { 

     // Great! let have experience of ARKIT 
} else { 
    // Sorry! you don't have ARKIT support in your device 
}