2016-12-14 2 views
10

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

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

  • spec.vendored_frameworks = 'MyPOD/Framework/MyFramework.framework'
  • spec.source_files = [ 'MyPOD/UI/Просмотров/MyView { ч, м} ']

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

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

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

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

ответ

1

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

Отзыв также public_header_files в случае необходимости.

+0

Да, но тогда, как мне получить доступ к классам MyFrameworks? – Drico

+0

Как вы сказали, папка 'MyFramework' является частной. Как вы хотите получить доступ к нему из-за пределов контейнера? Вы сказали, что хотите открыть «MyView», чтобы открывать его, и это зависит от публичных заголовков от «MyFramework». (Кстати, просмотрите заголовки фреймворков, чтобы убедиться, что вы разрешаете доступ к нему). – Ricowere

+0

Только источники 'MyFramework' являются частными. Более того, я уже обращаюсь к ним без особых проблем, не используя 'use_frameworks!' – Drico

0

Поскольку стручки проекта являются в настоящее время рамки, вы можете попробовать importing it as a module с помощью @importMyFramework.

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

Смежные вопросы