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