xcodebuild: симулятор или устройство? - PullRequest
61 голосов
/ 16 февраля 2011

Как мне указать xcodebuild (инструмент командной строки), хочу ли я построить для симулятора или устройства?

Ответы [ 2 ]

131 голосов
/ 16 февраля 2011

Сборка XCode из командной строки выглядит следующим образом:

xcodebuild -configuration ${BUILD_TYPE} -target ${TARGET_NAME} -arch ${CPU_ARCHITECTURE} -sdk ${SIMULATOR_OR_IOS_SDK} 

BUILD_TYPE - это что-то вроде «Release» или «Debug» (это значения по умолчанию, возможно, вы добавили других в проект)

TARGET_NAME - это имя цели, которую вы строите (по умолчанию то же имя, что и ваш проект)

CPU_ARCHITECTURE - это процессор, для которого вы строите, один из:

i386 , armv6 , armv7

Используйте i386 для сборок симуляторов и используйте armv6 или armv7 для сборок устройств - примечаниечто некоторые другие устройства не могут запускать код armv7, поэтому обычно при сборке библиотек рекомендуется создавать все эти архитектуры, а затем склеивать их вместе с помощью lipo.

SIMULATOR_OR_IOS_SDK - это то, что вы ищете,это либо iphoneos, либо iphonesimulator.Эти значения используют последнюю версию SDK, поддерживаемую установленным XCode, вы можете получить список поддерживаемых SDK с:

xcodebuild -showsdks

, который возвращает список вроде:

Mac OS X SDKs:
    Current Mac OS                  -sdk 
    Mac OS X 10.6                   -sdk macosx10.6

iOS SDKs:
    iOS 4.2                         -sdk iphoneos4.2

iOS Simulator SDKs:
    Simulator - iOS 3.2             -sdk iphonesimulator3.2
    Simulator - iOS 4.0             -sdk iphonesimulator4.0
    Simulator - iOS 4.1             -sdk iphonesimulator4.1
    Simulator - iOS 4.2             -sdk iphonesimulator4.2

xcodebuild имеет больше флагов, чем это, но это те, которые вы обычно используете после использования XCode для настройки свойств сборки.Вам не нужно использовать их все, но, вероятно, будет хорошей идеей уяснить, что вы создаете, иначе я считаю, что ваши последние настройки используются.

1 голос
/ 16 февраля 2011

Я считаю флаг -xcconfig весьма полезным. эта опция позволяет вам указать путь к xcconfig (файлу настроек сборки). в xcconfig вы можете #include другие файлы xcconfig.

...