所以我想试试 ARKit。我在 iPad air 上安装了 iOS 11,但它一直在崩溃。这是我的视图控制器中的代码
import UIKit
import ARKit
class ViewController: UIViewController {
@IBOutlet weak var sceneView: ARSCNView!
@IBOutlet weak var counterLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
let scene = SCNScene()
sceneView.scene = scene
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(true)
let configuration = ARSessionConfiguration()
sceneView.session.run(configuration)
}
}
所以我搜索了一下,我发现了这个:
https ://developer.apple.com/documentation/arkit/building_a_basic_ar_experience
基本上说对于具有比 A9 更旧芯片的设备,应该使用 ARSessionConfiguration 而不是 ARWorldTrackingSessionConfiguration 但是我仍然不断崩溃。
我试过Apple提供的ARKit Demp,同样的。
我也尝试过sceneView.antialiasingMode = .none
,但它也没有帮助。
这是我在崩溃时得到的控制台日志
2017-06-26 21:44:16.539469+0200 ARKitGame[562:56168] [DYMTLInitPlatform] 平台初始化成功 2017-06-26 21:44:18.630888+0200 ARKitGame[562:55915] Metal GPU Frame Capture Enabled 2017-06 -26 21:44:18.633276+0200 ARKitGame[562:55915] Metal API Validation Enabled 2017-06-26 21:44:19.625366+0200 ARKitGame[562:56176] [MC] systemgroup.com.apple 的系统组容器。 configurationprofiles 路径是 /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles 2017-06-26 21:44:19.628963+0200 ARKitGame[562:56176] [MC] 从公共有效用户设置中读取。2017-06-26 21:44:22.706910+0200 ARKitGame[562:56176]-[MTLTextureDescriptorInternal validateWithDevice:],第 778 行:错误“MTLTextureDescriptor 具有无效的像素格式 (520)。” -[MTLTextureDescriptorInternal validateWithDevice:]:778: 断言“MTLTextureDescriptor 具有无效的像素格式 (520)”失败。(lldb)