Сохранение структуры каталогов при создании фреймворков в xcode - PullRequest
12 голосов
/ 27 сентября 2010

Я пытаюсь создать фреймворк в Xcode и успешно это сделал, но, как оказалось, Xcode выравнивает структуру каталогов при копировании заголовков в Копировать заголовки фаза сборки. Я попытался добавить файлы как ссылки на папки вместо групп, но тогда он даже не распознает заголовочные файлы как заголовочные файлы!

Итак, как я могу сказать Xcode сохранять структуру каталогов при копировании файлов заголовков в мой .framework-bundle?

Ответы [ 5 ]

11 голосов
/ 10 января 2014

Использование Копирование файлов вместо Копирование заголовков в пользовательском интерфейсе фаз сборки.

Создание отдельного Копирование файлов (Редактор -> ДобавитьФаза сборки) для каждой необходимой выходной папки.

2 голосов
/ 04 июля 2018

Если вы не можете использовать ссылку на папку , поскольку папки также содержат не заголовочные файлы, которые вы не хотите копировать, добавьте вместо этого Run Script этап сборки:

cd "${SRCROOT}/path/from/project/root/to/headers"

echo 'Copying headers into Framework..'
for H in `find . -name "*.h"`;  do
    echo "copying ${H} to ${BUILT_PRODUCTS_DIR}/${PUBLIC_HEADERS_FOLDER_PATH}/${H}"
    ditto "${H}" "${BUILT_PRODUCTS_DIR}/${PUBLIC_HEADERS_FOLDER_PATH}/${H}"
done

Это скопирует все .h файлы с пути, по которому вы cd перешли в YourFramework.framework/Versions/A/Headers, точно так же, как пометив их как public.

1 голос
/ 08 мая 2012

Кажется, что в настоящее время это не встроенная функция xcode, поэтому вы должны вернуться к сценариям для рекурсивного копирования файлов (предположительно, выбирая только заголовочные файлы): Как сохранить подгруппы при изменении роли на public в Copy Фаза сборки заголовков в XCode?

Вот обсуждение того, как этого добиться: http://www.cocoabuilder.com/archive/xcode/259185-copy-headers-that-preserves-subdirectory-structure.html

1 голос
/ 30 июля 2013

Добавить исходную папку как ссылку на папку (переключатель в диалоговом окне «Добавить файлы ...»). Затем перетащите эти папки со вкладки Navigator в «Build Phases-> Copy Files». После этого заголовки будут расположены в папках при следующей сборке.

0 голосов
/ 17 июня 2011

Из принятого ответа на этот вопрос :

Нажмите правой кнопкой мыши на Ресурсы, добавьте существующие файлы, выберите каталог и выберите «Создать ссылки на папки для любых добавленных папок».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...