Xcode, создающий универсальные фреймворки как зависимости универсального фреймворка
В настоящее время, когда я распространяю свою универсальную платформу, мне приходится распространять мои универсальные рамки, включенные в этапы сборки - связать двоичные файлы с библиотеками. Я хочу собрать все в одну универсальную платформу Universal Framework, чтобы мои пользователи могли легко связываться с моей универсальной платформой и не беспокоиться о других.
Я пытаюсь "встроить" две другие универсальные фреймворки в мою универсальную фреймворк. Я следую этому уроку здесь: Разработка фреймворка как зависимого проекта
Вот картина структуры моего проекта. Обратите внимание на два проекта в рамках Frameworks:
Я добавил цели проекта в зависимости от цели и связал файлы.a в Link Binary With Libraries. Я могу строить зависимые проекты без ошибок.
- Когда я пытаюсь собрать свою основную универсальную платформу, первая проблема, с которой я сталкиваюсь, заключается в том, что она не может найти файл заголовка, который я добавил в раздел "Фазы сборки - Копирование файлов". Тем не менее, я добавил их в цель Aggregate, а не в цель Project, так как настроен другой зависимый проект, и у него, похоже, нет проблем с заголовками.
Вполне возможно, что если я исправлю эту проблему, основной Universal Framework может дать правильный вывод. В настоящее время он не производит ожидаемые продукты (Debug-iphoneos, Debug-iphoneimulator и Debug-iphoneuniversal). Смотрите больше комментариев ниже.
Вы можете видеть, что Продукты включают только Debug-iphoneos, и.frameworks там не перечислены, а есть файлы библиотеки.a.
РЕДАКТИРОВАТЬ: НОВОЕ НАПРАВЛЕНИЕ
Я разорван здесь. В приведенном выше коде инструкции показывают, как добавить зависимые Frameworks в папку Frameworks вашего проекта. Но после дальнейшего чтения я вижу, где некоторые люди создают Workspace и добавляют зависимые проекты на том же уровне, что и основной проект, как показано здесь:
Мне удалось собрать все три проекта, но конфигурация такая хрупкая. Я попытался внести изменения, чтобы указать общую папку для файлов заголовка, как описано в этих инструкциях, но сборка начала давать сбой. Я отказался от этого изменения, и сборка снова работает.
Я собираюсь продолжать в том же духе, но я хотел бы услышать от кого-то, кто уже сделал это и заставил его работать.
1 ответ
В итоге я выбрал первый вариант - встраивание универсальных фреймворков в основной универсальный фреймворк. Я продолжал работать с учебником, который я упомянул выше ( https://github.com/jverkoey/iOS-Framework). Это было нелегко, но, поработав над этим несколько дней и несколько раз, я наконец-то понял, как это работает.
Отличный урок от Джеффа Веркоена!
Единственное отличие в том, что я создавал, это то, что я не помещал встроенные фреймворки в приложение. Скорее я помещаю их в другой универсальный фреймворк. Когда я попытался использовать его в приложении, я сделал несколько небольших изменений, чтобы он работал. НО ЭТО РАБОТАЛО!!!:-)