Добавление RealmSwift в качестве подпроекта: отсутствуют обязательные модули: "Realm.Private", "Realm"

Поэтому я хотел создать ссылку на RealmSwift в моем собственном фреймворке, и я предпринял следующие шаги:

  1. добавлять RealmSwift как подпроект

  2. Ссылка рамки:

  3. Добавьте зависимость

  4. Импортировать RealmSwift в файл Swift:

И я получил ошибку: Missing required modules: 'Realm.Private', 'Realm', Как я могу решить эту проблему? Спасибо!

5 ответов

Решение

Вам нужно будет добавить /path/to/RealmSwift.framework/Frameworks в раздел "Пути поиска платформы" в настройках сборки

где /path/to/RealmSwift.framework это расположение рамки.

Это потому что RealmSwift.framework зависит от Realm.framework (где Realm а также Realm.Private модули определены), который продается в его Frameworks каталог.

У меня была та же проблема, оказалось, что файл, который показал ошибку, использовался двумя разными целями. При добавлении Realm с SPM мы можем выбрать только одну цель. Я решил следующие шаги:

  1. В Project Navigator выберите цель, в которой отсутствует Realm.
  2. ВBuild Phases > Link Binary With Libraries, добавлятьRealmSwiftиRealm.

Начиная с Realm v0.93.0, RealmSwift.framework больше не встраивает Realm.framework. Это вызывает то же самое сообщение об ошибке отсутствующего модуля при обновлении. Вы можете решить эту проблему, связавшись напрямую с RealmSwift.framework и Realm.framework. Вам также нужно будет удалить все уже существующие strip-frameworks.sh Run Script Phase в фазах сборки целевого приложения. Этот шаг больше не нужен.

Нечто подобное случилось со мной, когда я установил модуль...

Убедитесь, что вы открыли файл appname.xcworkspace, а не appname.xcodeproj после выполнения установки pod с CocoaPods.

Ошибка Нет такого модуля "RealmSwift" будет происходить из любого файла, где настроен "импорт RealmSwift", если он не открыт из appname.xcworkspace.

  1. Выберите Имя проекта.
  2. Перейдите кBuild Phases > Link Binary With Libraries введите описание изображения здесь
  3. Нажмите знак «плюс», чтобы добавить > ВыбратьRealm, RealmSwiftнажмитеAdd введите описание изображения здесь
  4. Ударятьcommand + bпостроить, и ваша проблема должна исчезнуть, как на этом изображении
Другие вопросы по тегам