Xcode 4 - создать выходной каталог

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

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

Большое спасибо.

Ответ 1

В главном меню Xcode нажмите "Настройки", выберите вкладку "Местоположения" и посмотрите, как это сделать.

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

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

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

Ответ 2

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

xcodebuild -workspace 'WORKSPACE_NAME.xcworkspace' \
           -scheme 'SCHEME_NAME' \
           -configuration 'Release' \
           -sdk iphoneos7.0 CONFIGURATION_BUILD_DIR='OUTPUT_DIRECTORY'

Ответ 3

В Xcode 5: Xcode меню > Настройки > Местоположение вкладка Местоположение вкладкa > Дополнительно... > Пользовательская.

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

Ответ 4

Если у вас установлено значение "Место сборки Xcode 4" для "Разместить сборку в месте производных данных (рекомендуется), она должна быть расположена в ~/Library/Developer/Xcode/DerivedData. В этом каталоге будет реализован ваш проект как каталог, название проекта будет добавлено вместе с кучей сгенерированных букв, поэтому внимательно посмотрите.

Ответ 5

Сохраняйте полученные данные, но используйте 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

Ответ 6

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

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

Ответ 7

Для тех, кто хочет найти каталог сборки из script, но не хочет его изменять, запустите следующее, чтобы получить список всех настроек сборки, указывающих на папку в 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/^ *//'

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

Ответ 8

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

Ответ 10

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

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

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

Если вы не дважды щелкните его и введите "приложение" без qoutes.

Ответ 11

Это было так раздражало. Откройте проект, нажмите "Настроить", "Открыть вкладку" Построить фазы ". Проверьте свои ресурсы для копирования красных элементов.