Цель развертывания iOS моего проекта установлена ​​на iOS 9.0, и я хочу интегрировать Reality Kit в мое приложение для iOS 13.0 и выше - PullRequest
3 голосов
/ 06 февраля 2020

RealityKit доступен только на iOS 13.0 и выше, и когда я пытаюсь интегрировать его в свой проект и запустить его на iOS 12.0 или ниже, приложение вылетает с ошибкой abort_with_payload.

Я все еще хочу, чтобы мое приложение работало на iOS 9.0 - iOS 12.0 без AR характерная черта. Есть ли способ, которым я могу это сделать?

Ответы [ 2 ]

2 голосов
/ 07 февраля 2020

Это происходит потому, что фреймворк RealityKit всегда импортирует, даже если устройство не имеет такой фреймворк. Решение состоит в том, чтобы сделать его необязательным в зависимости от используемого вами устройства.

  1. Go для Build Settings.
  2. Go до Linking -> Other linker Flags
  3. Дважды щелкните Other linker Flags значения, чтобы добавить новый.
  4. Нажмите кнопку добавления, затем введите -weak_framework RealityKit

Это должно сделать это. Введите и запустите приложение.

Надеюсь, это поможет. Удачного кодирования. : D

1 голос
/ 06 февраля 2020

Посмотрите директиву 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

...