ARKit 3.5 和 11.4 以下的 Xcode 版本
ARKit 3.5 and Xcode versions under 11.4
ARKit 3.5 显然只能在 Xcode 11.4 中运行,它收到了更新的 SDK。我在Mojave上只有11.3,Mojave不支持11.4。我宁愿不更新到 Catalina。如果我想将新的 iPad Pro 与 LIDAR 一起使用,如果我使用旧的 Xcode 构建它会怎样?我知道我可能无法使用更新后的 API 函数调用,但是使用旧 Xcode 构建的应用程序是否隐含地使用了更好的跟踪和 LIDAR 功能? -- 或者是旧的 SDK 不知道如何与新的 LIDAR 硬件接口,我会得到较差的结果或更接近上一代产品的次优结果?我当然不能自己测试这个。我可以澄清一下吗?
一个隐含的问题是——是否真的有办法让新的 SDK 在旧的 Xcode 中工作,或者新的 SDK 是否只为 Catalina 或更高版本构建?
ARKit 3.5 获得了新的 类、结构和枚举,仅适用于安装了 iOS
/iPadOS
13.4 及更高版本 和与激光雷达扫描仪。
下面是这些 类、结构和枚举:
- ARMeshAnchor
- ARMeshGeometry
- ARMeshClassification
- SceneReconstruction
- ARGeometrySource
- ARGeometryPrimitiveType
- ARGeometryElement
但您还需要 Xcode 11.4 安装在 Mac 运行 macOS Catalina 10.15.2 或更高版本上。
让我们看看 Apple 文档在发行说明中对旧版本 Xcode 11.3 的看法:
Xcode 11.3 supports developing apps for iOS 13.3, iPadOS 13.3, tvOS 13.3, watchOS 6.1, and macOS Catalina 10.15.2. Xcode 11.3 supports on-device debugging for iOS 8 and later, tvOS 9 and later, and watchOS 2 and later. Xcode 11.3 requires a Mac running macOS Mojave 10.14.4 or later.
如果您使用低于 11.4 的 Xcode 版本进行开发,您将无法正式使用 ARKit 3.5 的新功能,因为 Xcode 中没有 iOS 13.4 目标 IDE 11.3 并且没有 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
}
}
答案:
Officially you have no ability to use ARKit 3.5 on older versions of Xcode (only Xcode 11.4 and higher supports it).
但是!
您可以在 macOS Mojave 上安装 Xcode 11.4 以获得目标 13.4 支持。
这是关于该主题的 SO post –
然后理论上你可以!尝试添加 ARKit 的 3.5 库的更新。但是我没有关于这个主题的链接。
ARKit 3.5 显然只能在 Xcode 11.4 中运行,它收到了更新的 SDK。我在Mojave上只有11.3,Mojave不支持11.4。我宁愿不更新到 Catalina。如果我想将新的 iPad Pro 与 LIDAR 一起使用,如果我使用旧的 Xcode 构建它会怎样?我知道我可能无法使用更新后的 API 函数调用,但是使用旧 Xcode 构建的应用程序是否隐含地使用了更好的跟踪和 LIDAR 功能? -- 或者是旧的 SDK 不知道如何与新的 LIDAR 硬件接口,我会得到较差的结果或更接近上一代产品的次优结果?我当然不能自己测试这个。我可以澄清一下吗?
一个隐含的问题是——是否真的有办法让新的 SDK 在旧的 Xcode 中工作,或者新的 SDK 是否只为 Catalina 或更高版本构建?
ARKit 3.5 获得了新的 类、结构和枚举,仅适用于安装了 iOS
/iPadOS
13.4 及更高版本 和与激光雷达扫描仪。
下面是这些 类、结构和枚举:
- ARMeshAnchor
- ARMeshGeometry
- ARMeshClassification
- SceneReconstruction
- ARGeometrySource
- ARGeometryPrimitiveType
- ARGeometryElement
但您还需要 Xcode 11.4 安装在 Mac 运行 macOS Catalina 10.15.2 或更高版本上。
让我们看看 Apple 文档在发行说明中对旧版本 Xcode 11.3 的看法:
Xcode 11.3 supports developing apps for iOS 13.3, iPadOS 13.3, tvOS 13.3, watchOS 6.1, and macOS Catalina 10.15.2. Xcode 11.3 supports on-device debugging for iOS 8 and later, tvOS 9 and later, and watchOS 2 and later. Xcode 11.3 requires a Mac running macOS Mojave 10.14.4 or later.
如果您使用低于 11.4 的 Xcode 版本进行开发,您将无法正式使用 ARKit 3.5 的新功能,因为 Xcode 中没有 iOS 13.4 目标 IDE 11.3 并且没有 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
}
}
答案:
Officially you have no ability to use ARKit 3.5 on older versions of Xcode (only Xcode 11.4 and higher supports it).
但是!
您可以在 macOS Mojave 上安装 Xcode 11.4 以获得目标 13.4 支持。
这是关于该主题的 SO post –
然后理论上你可以!尝试添加 ARKit 的 3.5 库的更新。但是我没有关于这个主题的链接。