所以我想试试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,但是我仍然会遇到崩溃。
我也试过苹果公司提供的雅克特鞋。
我也试过了,但也没用。
这是当它崩溃时我得到的控制台日志
2017-06-26 21:44:16.539469+0200 ArkitGame[562:56168][DYMTlinitPlatform]平台初始化成功
2017-06-26 21:44:18.630888+0200 ArkitGame[562:55915]启用金属GPU帧捕获
2017-06-26 21:44:18.633276+0200 ArkitGame[562:55915]启用金属API验证
2017-06-26 21:44:19.625366+0200 arkitgame[562:56176][mc]system group.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市场游戏[562:56176]-[mtltexturedescriptorinal validatewithdevice:],第778行:错误'mtltexturedescriptor具有无效的像素格式(520)。'
-[mtltexturedescriptorinal validatewithdevice:]:778:失败的断言“mtltexturedescriptor具有无效的pixelformat(520)。”
(内陆开发银行)
最佳答案
苹果用beta 2改变了ARKit documentation:它现在明确表示,arkit作为一个整体——不仅仅是世界跟踪——需要a9。
也许这就解释了为什么即使是基本会话配置似乎也从来没有在低于A9的设备上工作过…
关于swift - ARKit在iPad Air 1上崩溃,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44767645/