Используя 'vendored_frameworks' и 'source_files' для cocoapod, используя 'use_frameworks!'

Я создаю cocoapod, который в основном содержит фреймворк (частные источники) и представление (с открытым исходным кодом), которые полагаются на эту структуру, сделанные в Objective-C.

В podspec у меня есть следующие строки:

  • spec.vendored_frameworks = 'MyPod/Framework/MyFramework.framework'
  • spec.source_files = ['MyPod/UI/Views/MyView. {h, m}']

При использовании синтаксиса use_frameworks! я не могу #import MyFramework

Я просто не понимаю, что происходит.

Кроме того, когда я удаляю строку spec.source_files, я могу #import MyFramework и работает отлично, но, конечно, я не могу использовать MyView.

Что я делаю неправильно?

Ответ 1

Если вы используете use_frameworks!, ваш модуль сам станет основой. Поэтому вы должны #import MyPod вместо #import MyFramework, а затем использовать MyView.

Просмотрите также public_header_files в случае необходимости.

Ответ 2

Так как проектные модули теперь являются основой, вы можете попробовать импортировать его как модуль с помощью @import MyFramework.

Однако, если это не сработает, попробуйте выполнить резервное копирование своего проекта, а затем запустите pod deintegrate && pod install. Кроме того, этот вопрос очень похож, и некоторые его комментарии и ответы могут быть полезными.