Фреймворк Apple не найден при создании архива

Я пытаюсь добавить дополнительную поддержку функции AR в существующее приложение с помощью RealityKit. Приложение создается и отлично работает как на устройствах iOS 10, так и на iOS 13, при этом дополнительная функция включена только в последних. Однако, когда я создаю для универсального устройства iOS или пытаюсь заархивировать, я получаю сообщение об ошибке No such module 'RealityKit' в любом import RealityKit операторе, и сборка не выполняется.

Целью сборки приложения является iOS 10, при этом RealityKit доступен в iOS 13. Я добавил охранников, чтобы строить только определенные классы, если @available( iOS 13.0, *), и слабо связал платформу RealityKit с помощью -weak_framework RealityKit флага другого компоновщика в моих настройках сборки.

То же самое происходит, когда я делаю Release вместо сборки Debug, но я не нашел никакой разницы в настройках схемы. Я не использую модули, а RealityKit - это стандартный фреймворк Apple, представленный в iOS 13.

Есть идеи, как это обойти?


person Morne    schedule 04.11.2019    source источник


Ответы (2)


Проверьте настройки своего проекта, перейдя в Настройки сборки, найдите Пути поиска фреймворка и добавьте $ (SRCROOT) и убедитесь, что он рекурсивен.

person Saeed Ir    schedule 08.11.2019
comment
К сожалению, это не помогает. - person Morne; 27.01.2020

Похоже, что решить эту проблему можно с помощью директивы препроцессора canImport(module). Это сработало для меня:

#if canImport(RealityKit)

import RealityKit

@available(iOS 13.0, *)
class MyARClass {

    @IBOutlet weak var arView: ARView!

...
}

#endif
person Morne    schedule 28.01.2020