所以我想试试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/

10-14 21:30