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


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

2 56

2 ответа:

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

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