ARKit рушится на iPad Air 1 - swift


1

Поэтому я хотел попробовать ARKit. Я установил iOS 11 на свой iPad, но он продолжает сбой. Вот код в моем контроллере

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] успешна 2017-06-26 21: 44: 18.630888 + 0200 ARKitGame [562: 55915] Металлический захват кадров GPU включен 2017-06 -26 21: 44: 18.633276 + 0200 ARKitGame [562: 55915] API API Validation включен 2017-06-26 21: 44: 19.625366 + 0200 ARKitGame [562: 56176] [MC] Контейнер групповой группы для systemgroup.com.apple. configprofiles путь /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 имеет недопустимый pixelFormat (520)". - [MTLTextureDescriptorInternal validateWithDevice:]: 778: failed assertion "MTLTextureDescriptor имеет недопустимый pixelFormat (520)". (Lldb)

Источник
  •  48
  •  6
  • 9 мар 2020 2020-03-09 19:03:10

6 ответов

0

ARKit работает только на чипах A9: http://www.iphonehacks.com/2017/06/list-iphone-ipad-compatible-arkit-ios-11.html

iPad Air 1 имеет чип A7, поэтому я думаю, возможно, что авария, которую вы видите.

Обновлено: не заметил ваш комментарий о старых чипах, используя ARSessionConfiguration вместо ARWorldTrackingSessionConfiguration. Возможно, вы можете попробовать изменить эти параметры в демонстрационном приложении ARKit.

0

ARKit работает только на чипах A9: http://www.iphonehacks.com/2017/06/list-iphone-ipad-compatible-arkit-ios-11.html

iPad Air 1 имеет чип A7, поэтому я думаю, возможно, что авария, которую вы видите.

Обновлено: не заметил ваш комментарий о старых чипах, используя ARSessionConfiguration вместо ARWorldTrackingSessionConfiguration. Возможно, вы можете попробовать изменить эти параметры в демонстрационном приложении ARKit.

1

Я загрузил последнюю бета-версию и запустил ее на iPad Air 1 и все еще падает, и как упоминалось здесь Apple: https://developer.apple.com/documentation/arkit

Важно, что ARKit требует устройства iOS с процессором A9 или более поздней версии. Чтобы ваше приложение было доступно только на устройствах, поддерживающих ARKit, используйте ключ arkit в разделе UIRequiredDeviceCapabilities в Info.plist вашего приложения. Если дополненная реальность является дополнительной функцией вашего приложения, используйте свойство isSupported, чтобы определить, поддерживает ли текущее устройство конфигурацию сеанса, которую вы хотите использовать.

Похоже, он работает только на процессорах A9.

  • 9 мар 2020 2020-03-09 19:03:11
1

Я загрузил последнюю бета-версию и запустил ее на iPad Air 1 и все еще падает, и как упоминалось здесь Apple: https://developer.apple.com/documentation/arkit

Важно, что ARKit требует устройства iOS с процессором A9 или более поздней версии. Чтобы ваше приложение было доступно только на устройствах, поддерживающих ARKit, используйте ключ arkit в разделе UIRequiredDeviceCapabilities в Info.plist вашего приложения. Если дополненная реальность является дополнительной функцией вашего приложения, используйте свойство isSupported, чтобы определить, поддерживает ли текущее устройство конфигурацию сеанса, которую вы хотите использовать.

Похоже, он работает только на процессорах A9.

  • 9 мар 2020 2020-03-09 19:03:11
1

Apple изменила документацию ARKit на бета-версию 2: теперь она однозначно говорит, что ARKit в целом - не просто отслеживание мира - требует A9.

Возможно, это объясняет, почему даже основная конфигурация сеанса, казалось, никогда не работала на устройствах ниже A9...

  • 9 мар 2020 2020-03-09 19:03:11
1

Apple изменила документацию ARKit на бета-версию 2: теперь она однозначно говорит, что ARKit в целом - не просто отслеживание мира - требует A9.

Возможно, это объясняет, почему даже основная конфигурация сеанса, казалось, никогда не работала на устройствах ниже A9...

  • 9 мар 2020 2020-03-09 19:03:11