ARKit 3.5 и Xcode версии до 11.4 - PullRequest
0 голосов
/ 23 апреля 2020

ARKit 3.5, видимо, работает только в Xcode 11.4, который получил обновленный SDK. У меня только 11,3 на Мохаве, и Мохаве не поддерживает 11,4. Я бы предпочел не обновляться до Каталины. Если я хочу использовать новый iPad Pro с LIDAR, что произойдет, если я соберу его с более старым Xcode? Я понимаю, что, вероятно, я не могу использовать обновленные вызовы функций API, но использует ли приложение, построенное на более старом Xcode, неявное улучшение отслеживания и функции LIDAR? - или это более старый SDK не знает, как взаимодействовать с новым оборудованием LIDAR, и я получу плохие результаты или субоптимальные результаты ближе к тому, что получило бы предыдущее поколение? Я не могу проверить это сам, конечно. Могу ли я получить разъяснение?

Неявный вопрос: существует ли способ заставить работать новый SDK в более старом Xcode или более новый SDK создан только для Catalina или новее?

1 Ответ

2 голосов
/ 23 апреля 2020

ARKit 3.5 получил новые классы, структуры и перечисления, доступные только для устройств с установленными iOS / iPadOS 13.4 и выше и со сканером LiDAR.

Вот эти классы, структуры и перечисления:


Но также вам нужно Xcode 11.4 , установленный на работающей Ma c macOS Catalina 10.15.2 или новее.

Посмотрим, что в документации Apple говорится о более старой версии Xcode 11.3 в примечаниях к выпуску:

Xcode 11.3 поддерживает разработку приложений для iOS 13.3, iPadOS 13.3, tvOS 13.3, watchOS 6.1 и macOS Catalina 10.15.2. Xcode 11.3 поддерживает отладку на устройстве для iOS 8 и новее, tvOS 9 и новее и watchOS 2 и новее. Xcode 11.3 требует Ma c под управлением MacOS Mojave 10.14.4 или более поздней версии.


Если вы разрабатываете версию Xcode ниже 11.4, вы не сможете официально использовать новые функции ARKit 3.5, поскольку в Xcode IDE 11.3 нет цели iOS 13.4 и нет обновления библиотеки ARKit 3.5.

Если вы хотите реализовать новые функции ARKit 3.5 в приложении ARKit 3.0, всегда есть методология проверки, позволяющая включить on / off вышеупомянутых инструментов ARKit 3.5 SceneReconstruction:

import ARKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(_ application: UIApplication, 
                       didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

        guard ARWorldTrackingConfiguration.supportsSceneReconstruction(.meshWithClassification) 
        else {
            fatalError("Scene reconstruction requires a device with a LiDAR Scanner.")
        }            
        return true
    }
}

Ответ:

Официально у вас нет возможности использовать ARKit 3.5 на более старых версиях Xcode (только Xcode 11.4 и выше поддерживает его).

Но!

Вы можете установить Xcode 11.4 на macOS Mojave , чтобы получить целевую поддержку 13.4 .

Вот SO сообщение на эту топи c - Как запустить Xcode 11.4 на macOS Mojave 10.14.6

И после этого вы можете теоретически! попробуйте добавить обновление библиотеки ARKit 3.5. Но у меня нет ссылок на эту тему.

...