Использование статических библиотек в Swift с CocoaPods не удается для Realm - PullRequest
2 голосов
/ 13 мая 2019

Начиная с Xcode 9 можно использовать статические библиотеки, опуская флаг use_frameworks! в Podfile. Однако при использовании с Pod RealmSwift это приводит к следующей ошибке:

[!] The following Swift pods cannot yet be integrated as static libraries:

The Swift pod `RealmSwift` depends upon `Realm`, which do not define modules. To opt into those targets generating module maps (which is necessary to import them from Swift when building as static libraries), you may set `use_modular_headers!` globally in your Podfile, or specify `:modular_headers => true` for particular dependencies.

К сожалению, предлагаемое решение с use_modular_headers! не работает.

Другие вещи, которые я пробовал, включают:

  • Использование последней версии Realm (3.15.0)
  • Используйте Objective C версию и добавьте поддержку Swift, это не создаст и не выдаст ошибку «модуль не найден» в файле RLMSupport.swift .
  • Добавление промежуточного заголовка для версии Objective C.
  • Бесконечная очистка, восстановление, повторный запуск Xcode и очистка папки Derived Data.

Не было бы предпочтительным обходить CocoaPods и устанавливать эту зависимость отдельно, поскольку это сделало бы обновление более сложным процессом. Я надеюсь, что есть решение, которое работает с CocoaPods, Realm и Swift.

1 Ответ

0 голосов
/ 05 июля 2019

Я сделал работу, выполнив следующее:

pod 'RealmSwift', '~> 3.17', :modular_headers => true
pod 'Realm', '~> 3.17', :modular_headers => true
...