it-swarm-ru.tech

xcodebuild: симулятор или устройство?

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

61
Steven Fisher

Сборка 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 для настройки свойств сборки. Вам не нужно использовать их все, но, вероятно, будет хорошей идеей уяснить, что вы создаете, иначе я считаю, что ваши последние настройки используются.

131
Kendall Helmstetter Gelner

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

1
justin