我项目的iOS部署目标设置为iOS 9.0,我想将Reality Kit集成到我的iOS 13.0及更高版本的应用中

时间:2020-02-06 09:04:15

标签: ios xcode crash augmented-reality realitykit

RealityKit 仅在 iOS 13.0 及更高版本上可用,当我尝试将其集成到我的项目中并在 iOS 12.0 上运行时,或下方,该应用会崩溃,并显示abort_with_payload错误。

我仍然希望我的应用在没有AR功能的 iOS 9.0 - iOS 12.0 上运行。有办法吗?

2 个答案:

答案 0 :(得分:2)

之所以会这样,是因为框架RealityKit始终会导入,即使设备没有该框架也是如此。解决方案是根据您使用的设备将其设置为可选。

  1. 转到您项目的Build Settings
  2. 转到Linking-> Other linker Flags
  3. 双击Other linker Flags值以添加一个新值。
  4. 按下添加按钮,然后输入-weak_framework RealityKit

应该这样做。输入,然后运行您的应用。

希望这会有所帮助。编码愉快。 :D

答案 1 :(得分:1)

看看canImport(module)指令

#if canImport(RealityKit)
    import RealityKit
#endif

@available(iOS 13.0, *)
class MyClassWhichUsesRealityKit {

  func do() {
      let v = ARView(frame: .zero)
  }
}

来源:https://github.com/apple/swift-evolution/blob/master/proposals/0075-import-test.md