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