Так что я хотел попробовать ARKit. Я установил iOS 11 на свой iPad Air, но он продолжает падать. Вот код в моем контроллере представления
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, однако я все еще продолжаю получать сбои.
Я попробовал ARKit Demp, предоставленный Apple, то же самое. вещь.
Я также пробовал sceneView.antialiasingMode = .none
, но это тоже не помогло.
Вот журнал консоли, который я получаю при сбое
2017-06-26 21:44:16.539469+0200 ARKitGame[562:56168] [DYMTLInitPlatform] Инициализация платформы успешна -26 21:44:18.633276+0200 ARKitGame[562:55915] Включена проверка Metal API 2017-06-26 21:44:19.625366+0200 ARKitGame[562:56176] [MC] Контейнер системной группы для systemgroup.com.apple. Путь к конфигурационным профилям: /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)
print(ARSessionConfiguration.isSupported)
print(ARWorldTrackingSessionConfiguration.isSupported)
Оба возвращают значение true при запуске на моем iPad Air. Я думал, чтоARSessionConfiguration
будет единственным, который возвращает true. Мне действительно интересно, вернут ли они его на устройства ниже A9. 30.06.2017