Xcode 4 - построить выходной каталог - PullRequest
216 голосов
/ 20 ноября 2010

У меня проблемы с настройкой / поиском выходных файлов в Xcode4 (бета 5).Они размещены где-то в ~/Library/Developer/ugly_path/....Я даже не могу выбрать "показать в поиске" на моих продуктах.То же самое для простого C-проекта, инструмента Foundation и даже пакета Cocoa.Отладка работает нормально.

Не могли бы вы указать мне, где и как настроить / построить выходные каталоги?(Я знаю, это звучит глупо, я месяцами кодирую в Xcode3, но не могу понять это в бета-версии Xcode4).

Ответы [ 11 ]

341 голосов
/ 26 ноября 2010

В верхнем меню XCode, нажмите «Настройки», выберите вкладку «Местоположения», посмотрите опцию местоположения сборки.

У вас есть 2 варианта:

  1. Поместить продукты сборки в производныерасположение данных (рекомендуется)
  2. Поместить продукты сборки в местоположения, указанные в целях.

Обновление: в xcode 4.6.2 вам нужно нажать на расширенную кнопку с правой стороны под производными даннымитекстовое поле.Местоположение сборки выберите наследие.

140 голосов
/ 06 мая 2012

Если вы строите из командной строки, вы можете установить выходной каталог следующим образом:

xcodebuild -workspace 'WORKSPACE_NAME.xcworkspace' \
           -scheme 'SCHEME_NAME' \
           -configuration 'Release' \
           -sdk iphoneos7.0 CONFIGURATION_BUILD_DIR='OUTPUT_DIRECTORY'
29 голосов
/ 21 ноября 2013

В Xcode 5: Xcode меню> Настройки ... item> Местоположения вкладка> Местоположения подвкладка> Дополнительно ... * Кнопка 1010 *> Опция .

Затем выберите, например, Относительно рабочей области .

13 голосов
/ 29 декабря 2010

Если у вас в Xcode 4 Build Location установлено значение «Поместить продукты сборки в местоположение производных данных (рекомендуется), оно должно находиться в ~ / Library / Developer / Xcode / DerivedData. Этот каталог будет содержать ваш проект в видедиректории, к имени проекта будет добавлено несколько сгенерированных букв, поэтому смотрите внимательно.

10 голосов
/ 26 мая 2012

Сохраните производные данные, но используйте DSTROOT, чтобы указать пункт назначения.

Используйте DEPLOYMENT_LOCATION для принудительного развертывания.

Используйте недокументированный DWARF_DSYM_FOLDER_PATH, чтобы скопировать dSYM.

Это позволяет вам использовать местоположение производных данных из xcodebuild и не делать дурацкие вещи, чтобы найти приложение.

xcodebuild -sdk "iphoneos" -workspace Foo.xcworkspace -scheme Foo -configuration "Debug" DEPLOYMENT_LOCATION=YES DSTROOT=tmp DWARF_DSYM_FOLDER_PATH=tmp build
8 голосов
/ 07 декабря 2010

Вы всегда можете найти каталог сборки, посмотрев в средство просмотра журнала сборки и скопировав путь туда в окно терминала.

Я использую это для анализа моих пакетов iOS .app перед их установкой, чтобы сделатьуверен, что не включены файлы случайных.

4 голосов
/ 10 ноября 2014

Для тех, кто хочет найти каталог сборки из сценария, но не хочет его изменять, выполните следующую команду, чтобы получить список всех параметров сборки, которые указывают на папку в DerivedData:

xcodebuild -showBuildSettings | grep DerivedData

Если вы запускаете пользовательские цели и схемы, пожалуйста, поместите их там:

xcodebuild -workspace "Foo.xcworkspace" -scheme "Bar" -sdk iphonesimulator -configuration Debug -showBuildSettings | grep DerivedData

Посмотрите на выход, чтобы найти нужный выход настройки, а затем:

xcodebuild -showBuildSettings | grep SYMROOT | cut -d "=" -f 2 - | sed 's/^ *//'

Последняя часть обрезает строку под знаком равенства, а затем обрезает пробел в начале.

2 голосов
/ 03 января 2013

Если вы используете новые рабочие области Xcode4, вы можете изменить Местоположение производных данных в Файл -> Настройки рабочей области ...

1 голос
/ 31 августа 2011

Вы можете настроить выходной каталог, используя переменную среды CONFIGURATION_BUILD_DIR.

Источник: http://developer.apple.com/library/mac/#documentation/DeveloperTools/Reference/XcodeBuildSettingRef/0-Introduction/introduction.html#//apple_ref/doc/uid/TP40003931-CH1-SW1

0 голосов
/ 22 января 2015

Еще одна вещь, которую нужно проверить перед началом игры с настройками XCode:

Выберите вашу цель и перейдите к Настройки сборки> Упаковка> Расширение Wrapper

Значение должно быть: app

Если не дважды щелкнуть по нему и ввести «приложение» без кавычек.

...