Создание из командной строки с XCode FAQ
Этот документ предоставляет ответы к часто задаваемым вопросам об инструментах командной строки.
Каков Пакет Инструментов Командной строки?
Пакет Инструментов Командной строки является маленьким автономным пакетом доступным для скачивания отдельно от XCode, и это позволяет Вам делать разработку командной строки в OS X. Это состоит из двух компонентов: SDK OS X и инструменты командной строки, такие как Лязг, которые установлены в /usr/bin.
Загрузка инструментов командной строки не доступна в XCode для OS X 10.9. Как я могу установить их на своей машине?
В OS X 10.9, область Downloads Предпочтений XCode не поддерживает инструменты командной строки загрузки. Используйте любой из следующих методов для установки инструментов командной строки в системе:
Используя XCode
Если XCode установлен на Вашей машине, то нет никакой потребности установить их. XCode прибывает связанный всеми Вашими инструментами командной строки. OS X 10.9 включает исполнимые программы обертки или контейнеры. Эти контейнеры, установленные в
/usr/bin, может отобразить любой инструмент, включенный в/usr/binк соответствующему в XCode. xcrun является одним из таких контейнеров, позволяющим Вам находить или выполнять любой инструмент в XCode из командной строки. Используйте его для вызова любого инструмента в XCode из командной строки.Перечисление 1 , Работающее dwarfdump в Терминальном приложении
$ xcrun dwarfdump --uuid MySample.app/MySample
UUID: AD019F0E-1318-3F9F-92B6-9F95FBEBBE6F (armv7) MySample.app/MySample
UUID: 4776671F-0C12-3172-AE97-3676E83E3F19 (armv7s) MySample.app/MySample
UUID: BB59C973-06AC-388F-8EC1-FA3701C9E264 (arm64) MySample.app/MySample
Используя Терминальное приложение
Можно установить их путем выполнения
xcode-select --installкоманда или путем попытки использовать любой другой инструмент в Терминале, как замечено в Перечислении 2.Перечисление 2 , Пытающееся использовать мерзавца в Терминале
$ git
xcode-select: note: no developer tools were found at '/Applications/Xcode.app', requesting install. Choose an option in the dialog to download the command line developer tools.
OS X выводит на экран диалоговое окно, как замечено на рисунке 1 при попытке выполнить любой инструмент в Терминале. Выберите «Install» для установки пакета Инструментов Командной строки в
/Library/Developer/CommandLineToolsв Вашей системе.

Используя страницу «Download for Apple Developers» на веб-сайте Разработчика
Пакет Инструментов Командной строки доступен для скачивания на странице Download for Apple Developers. Войдите в систему со своим Apple ID, затем ищите и загрузите пакет Инструментов Командной строки для Индивидуалистов OS X как показано на рисунке 2.


Как я удаляю свои инструменты командной строки?
XCode включает все Ваши инструменты командной строки. Если это установлено в Вашей системе, удалите его для удаления инструментов.
Если Ваши инструменты были загружены отдельно с XCode, то они расположены в
/Library/Developer/CommandLineToolsв Вашей системе. УдалитеCommandLineToolsпапка для удаления их.
У меня есть многократные версии XCode, установленного на моей машине. Что в настоящее время использует версия XCode мои инструменты командной строки?
Для обнаружения, какая версия XCode используется инструментами, выполняет следующую команду в Терминале:
$ xcode-select --print-path |
Перечисление 3 , Распечатывающее версию XCode в настоящее время, используется моими инструментами
$ xcode-select --print-path |
/Applications/Xcode5.1.1/Xcode.app/Contents/Developer |
Как я выбираю версию по умолчанию XCode для использования для моих инструментов командной строки?
Для выбора XCode по умолчанию для инструментов командной строки выполните следующую команду в Терминале:
$ sudo xcode-select -switch <path/to/>Xcode.app |
где <путь/к/> является путем к пакету Xcode.app, Вы хотите использовать для разработки.
Перечисление 4 , Устанавливающее версию XCode по умолчанию
$ sudo xcode-select -switch /Applications/Xcode5.1.1/Xcode.app |
Как я разрабатываю свои проекты из командной строки?
xcodebuild является инструментом командной строки, позволяющим Вам выполнять сборку, запрашивать, анализировать, тестировать, и операции архивирования на Ваших проектах XCode и рабочих областях из командной строки. Это воздействует на одну или более целей, содержавшихся в Вашем проекте или схеме, содержавшейся в Вашей или рабочей области проекта. xcodebuild предоставляет несколько возможностей для выполнения этих операций, как замечено в его странице справочника. xcodebuild сохраняет вывод Ваших команд в расположениях, определенных в предпочтительной области Расположений Вашего приложения XCode по умолчанию.
Посмотрите ниже для различного xcodebuild использования. Обязательно перейдите к каталогу, содержащему Вашу или рабочую область проекта в Терминале прежде, чем выполнить любую из следующих команд.
Для перечисления всех целей конфигурации сборки и схемы, используемые в проекте, выполняют следующую команду в Терминале:
xcodebuild -list -project <your_project_name>.xcodeproj
где <your_project_name> является именем Вашего проекта.
Перечисление 5 , Перечисляющее всю информацию о Вашем проекте
$ cd /Users/username/Desktop/MyApplication
$ xcodebuild -list -project MyApplication.xcodeproj
Information about project "MyApplication":
Targets:
MyMacApp
MyMacAppTests
MyiOSApp
MyiOSAppTests
Build Configurations:
Debug
Release
If no build configuration is specified and -scheme is not passed then "Release" is used.
Schemes:
MyMacApp
MyiOSApp
Для создания схемы в проекте выполните следующую команду в Терминале:
xcodebuild -scheme <your_scheme_name> build
где <your_scheme_name> и сборка являются соответственно именем Вашей схемы, которая будет создана и действие, которое будет выполняться на Вашей схеме.
Перечисление 6 , Создающее схему MyiOSApp
$ xcodebuild -scheme MyiOSApp build
xcodebuild -scheme MyiOSApp
=== BUILD TARGET MyiOSApp OF PROJECT MyApplication WITH CONFIGURATION Debug ===
Для создания цели с конфигурационным файлом выполните следующую команду в Терминале:
xcodebuild -target <your_target_name> -xcconfig <your_configuration_file>.xcconfig
где <your_target_name> и <your_configuration_file> являются соответственно именем Вашей цели, которая будет создана и имя Вашего конфигурационного файла.
Перечисление 7 , Создающее MyiOSApp, предназначается с конфигурационным файлом
$ xcodebuild -target MyiOSApp -xcconfig configuration.xcconfig
Build settings from configuration file 'configuration.xcconfig':
GCC_WARN_CHECK_SWITCH_STATEMENTS = YES
GCC_WARN_UNDECLARED_SELECTOR = YES
IPHONEOS_DEPLOYMENT_TARGET = 6.0
PRODUCT_NAME = MyApp
=== BUILD TARGET MyiOSApp OF PROJECT MyApplication WITH THE DEFAULT CONFIGURATION (Debug) ===
Для изменения выходных местоположений xcodebuild команды используйте SYMROOT (Путь продуктов Сборки) и DSTROOT (Расположение продуктов Сборки Установки) настройки сборки, соответственно указывающие расположение для продуктов отладки и .dSYM файлов и один для выпущенных расположений. Посмотрите, что Сборка XCode Устанавливает Ссылку для получения дополнительной информации об этих настройках сборки.
Перечисление 8 , Настраивающее расположение для отладочной версии MyiOSApp
$ xcodebuild -scheme MyiOSApp SYMROOT="/Users/username/DebugLocation"
Build settings from command line:
SYMROOT = "/Users/username/DebugLocation"
=== BUILD TARGET MyiOSApp OF PROJECT MyApplication WITH CONFIGURATION Debug ===
Перечисление 9 , Настраивающее расположение для архива MyiOSApp
$ xcodebuild -scheme MyiOSApp DSTROOT="/Users/username/ReleaseLocation" archive
Build settings from command line:
DSTROOT = /Users/username/ReleaseLocation
=== BUILD TARGET MyiOSApp OF PROJECT MyApplication WITH CONFIGURATION Release ===
Мое приложение имеет многократные конфигурации сборки. Как я устанавливаю конфигурацию сборки по умолчанию для xcodebuild?
В XCode раздел Configuration Вашей Информационной панели проекта обеспечивает всплывающее меню, устанавливающее конфигурацию по умолчанию, которая будет использоваться xcodebuild при создании цели. Используйте это популярное меню для выбора конфигурации сборки по умолчанию для xcodebuild, как замечено на рисунке 3.


Как я запускаю тесты модуля в OS X и iOS из командной строки?
Для запущения тестов модуля из командной строки выполните следующую команду в Терминале:
xcodebuild test -scheme <your_scheme_name> -destination destinationspecifier |
xcodebuild использует тестовое действие сборки для запущения тестов модуля. Это действие сборки требует указания схемы и места назначения. -destination опция позволяет Вам указывать место назначения для своих тестов модуля. Это берет параметр -destinationspecifier, который описывает устройство, средство моделирования или Mac для использования в качестве места назначения. Это состоит из ряда разделенных от запятой key=value пар, зависящих от устройство, средство моделирования или используемый Mac.
Для приложений OS X,
-destinationspecifierподдерживает платформу и ключи дуги, как замечено в Таблице 1. Оба ключа требуются для того, чтобы запустить Ваши тесты модуля в OS X.Ключи Table 1 Supported для приложений OS X. Ключ
Описание
Значение
платформа
Поддерживаемое место назначения для Ваших тестов модуля.
OS X
дуга
Архитектура для использования для запущения тестов модуля.
i386 или x86_64
См. Перечисление 10 для примера, тестирующего схему в OS X и где
-destinationspecifierустановлен в 'platform=OS X, arch=x86_64'.Перечисление 10 , Тестирующее схему MyMacApp 64-разрядного в OS X
xcodebuild test -scheme MyMacApp -destination 'platform=OS X, arch=x86_64'
Для приложений для iOS,
-destinationspecifierподдерживает платформу, имя и ключи ID, как замечено в Таблице 2.Ключи Table 2 Supported для приложений для iOS. Ключ
Описание
Значение
платформа
Поддерживаемое место назначения для Ваших тестов модуля.
iOS
имя
Полное имя Вашего устройства, которое будет использоваться для Ваших тестов модуля.
Имя Вашего устройства, как выведено на экран в Организаторе Устройств в XCode.
ID
Идентификатор Вашего устройства, которое будет использоваться для Ваших тестов модуля.
Посмотрите Определение местоположения Идентификатора Вашего Устройства для получения дополнительной информации о получении Вашего идентификатора устройства.
Имя и ключи ID intergeably используются с платформой, которая является требуемым ключом, как замечено в Перечислении 11 и Перечислении 12.
Перечисление 11 , Тестирующее схему MyiOSApp на устройстве, идентифицируется данным ID
xcodebuild test -scheme MyiOSApp -destination 'platform=iOS,id=998058a1c30d845d0dcec81cd6b901650a0d701c'
Перечисление 12 , Тестирующее схему MyiOSApp на iPod touch
xcodebuild test -scheme MyiOSApp -destination 'platform=iOS,name=iPod touch'
Для приложений Средства моделирования iOS,
-destinationspecifierподдерживает платформу, имя и ключи OS, как замечено в Таблице 3.Ключи Table 3 Supported для приложений Средства моделирования iOS. Ключ
Описание
Значение
платформа
Поддерживаемое место назначения для Ваших тестов модуля.
Средство моделирования iOS
имя
Полное имя Средства моделирования iOS, которое будет использоваться для Ваших тестов модуля и, как выведено на экран в месте назначения выполнения Вашего проекта XCode.
Сетчатка iPhone (3,5 дюйма), Сетчатка iPhone (4 дюйма), Сетчатка iPhone (64-разрядные 4 дюйма), iPad, Сетчатка iPad или Сетчатка iPad (64-разрядный.
ОС
Это - версия iOS для моделирования такого как 7,1 или строка, последняя для указания новой версии iOS, поддерживаемого версией XCode.
Версия iOS или последний
И платформа и имя являются требуемыми ключами, тогда как OS является дополнительным как показано в Перечислении 13 и Перечислении 14.
Перечисление 13 , Тестирующее схему MyiOSApp на iPad в Средстве моделирования
xcodebuild test -scheme MyiOSApp -destination 'platform=iOS Simulator,name=iPad'
Перечисление 14 , Тестирующее схему MyiOSApp на сетчатке iOS 7.1 iPhone (64-разрядные 4 дюйма) в Средстве моделирования
xcodebuild test -scheme MyiOSApp -destination 'platform=iOS Simulator,name=iPhone Retina (4-inch 64-bit),OS=7.1'
-destination опция также позволяет Вам запускать тот же тест модуля на многократных местах назначения. Это сделано путем добавления его многократно к тестовой команде xcodebuild, как продемонстрировано в Перечислении 15.
Перечисление 15 , Тестирующее схему MyiOSApp и в Средстве моделирования и на iPod touch
xcodebuild test -scheme MyiOSApp -destination 'platform=iOS Simulator,name=iPhone Retina (4-inch 64-bit),OS=7.1' -destination 'platform=iOS,name=iPod touch' |
История версии документа
| Дата | Примечания |
|---|---|
| 21.05.2014 | Новый документ, предоставляющий ответы к часто задаваемым вопросам об инструментах командной строки. |