У меня возникло множество проблем с Xcode 4 и вложенными проектами, которые хорошо работали под Xcode 3.2. Здесь очень простой, который я не могу решить:
Я создаю фреймворк cocoa, для которого требуется другая инфраструктура cocoa, для которой у меня есть источник. Поэтому я выполняю обычные действия:
- Перетащите файл
.xcodeproj
требуемой структуры в мой основной проект рамки - В моей основной структуре в разделе TARGETS > MyFramework > Build Phases > Зависимости целей. Добавьте цель вложенного проекта.
- Убедитесь, что файлы заголовков вложенной структуры являются общедоступными.
- В настройках Xcode > Местоположения > Местоположение сборки У меня установлено значение "Разместить сборки" в исходном местоположении данных (рекомендуется)
- Построение пути продуктов для обеих целей задано как
${BUILT_PRODUCTS_DIR}
и скажите, что они находятся в местоположении DerivedData/Debug (или Release) - Параметры архитектуры для обеих целей идентичны.
Затем я нажимаю [CMD] + B для сборки, и он сообщает мне, что он не находит файлы заголовков вложенной структуры. Когда я проверяю настройки, пути поиска заголовка пользователя содержат путь к DerivedData/Debug, а внутри есть вложенная цель рамки с файлами заголовков в версиях/A/Заголовках.
Я сижу здесь, кто-нибудь знает, что я делаю неправильно?
Проблема возникает при создании Отладки при изменении путей поиска заголовка пользователя на ${BUILT_PRODUCTS_DIR}/MyFramework.framework/Headers
. Однако это не работает при построении Распространение, так как фреймворки затем используют свои настройки Release, которые заканчиваются в другом подкаталоге...
Моим временным решением также является определение конфигурации Распределение для вложенных проектов. Таким образом, заголовки найдены, и компоновщик может успешно связываться.