【问题标题】:ARKit 3.5 and Xcode versions under 11.4ARKit 3.5 和 Xcode 版本低于 11.4
【发布时间】:2020-04-23 00:48:02
【问题描述】:

ARKit 3.5 显然只适用于 Xcode 11.4,它接收了更新的 SDK。我在 Mojave 上只有 11.3,而 Mojave 不支持 11.4。我宁愿不更新到 Catalina。如果我想将新的 iPad Pro 与 LIDAR 一起使用,如果我使用旧的 Xcode 构建它会发生什么?我知道我可能无法使用更新的 API 函数调用,但是使用旧 Xcode 构建的应用程序是否隐式使用了更好的跟踪和 LIDAR 功能? ——或者是旧的 SDK 不知道如何与新的激光雷达硬件接口,我会得到更接近上一代的糟糕结果或次优结果?我当然不能自己测试。我可以澄清一下吗?

一个隐含的问题是——实际上是否有办法让新 SDK 在旧 Xcode 中工作,或者新 SDK 是否仅为 Catalina 或更高版本构建?

【问题讨论】:

    标签: ios swift xcode augmented-reality arkit


    【解决方案1】:

    ARKit 3.5 有新的类、结构和枚举,仅适用于安装了iOS/iPadOS 13.4 及更高版本和激光雷达扫描仪的设备。

    以下是这些类、结构和枚举:


    但您还需要在运行 macOS Catalina 10.15.2 或更高版本的 Mac 上安装 Xcode 11.4

    让我们看看 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 需要运行 macOS Mojave 10.14.4 或更高版本的 Mac。


    如果您使用低于 11.4 的 Xcode 版本进行开发,则无法正式使用 ARKit 3.5 的新功能,因为 Xcode IDE 11.3 中没有 iOS 13.4 目标,也没有 ARKit 3.5 库的更新。

    如果您想在 ARKit 3.0 应用程序中实现新的 ARKit 3.5 功能,总有一种检查方法可以让您打开 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
        }
    }
    

    答案:

    官方说你无法在旧版本的 Xcode 上使用 ARKit 3.5(只有 Xcode 11.4 和更高版本支持它)。

    但是!

    您可以在 macOS Mojave 上安装 Xcode 11.4以获得目标 13.4 支持

    这是关于该主题的 SO 帖子 – How to run Xcode 11.4 on macOS Mojave 10.14.6

    然后理论上你可以!尝试添加 ARKit 的 3.5 库的更新。但我没有关于这个主题的链接。

    【讨论】:

    • 对,我已经添加了 13.4 设备支持。不过,我对场景构建工具并不感兴趣。我只是想知道新 iPad 是否能够使用它自己的相机硬件提供的更好的跟踪,或者更好的跟踪是否只能通过某些 arkit 3.5 内部组件获得。基本上,是否需要 ARKit 3.5 才能更好地跟踪,忘记 API 吧?
    • 是的,ARKit 3.5 需要用于创建具有更好跟踪的 AR 应用程序,因为 ARKit 3.5 的引擎驱动 LiDAR 硬件。换句话说,配备 LiDAR 的 iPad 所需的所有属性都在 ARKit 3.5 中。
    • 知道了。好吧,我想我别无选择,只能升级或从外部驱动器启动。我听说过各种关于 catalina 的可怕消息,我担心它会对我的 2018 年老款 macbook pro 造成什么影响。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-26
    • 2011-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-09
    相关资源
    最近更新 更多