xcodebuild:模拟器还是设备?
如何指定xcodebuild
(命令行工具)是否要为模拟器或设备构build?
从命令行编译的XCode如下所示:
xcodebuild -configuration ${BUILD_TYPE} -target ${TARGET_NAME} -arch ${CPU_ARCHITECTURE} -sdk ${SIMULATOR_OR_IOS_SDK}
BUILD_TYPE
就像“发布”或“debugging”(这些是默认的,你可能已经添加了其他项目)
TARGET_NAME
是您正在构build的目标的名称(默认情况下与您的项目名称相同)
CPU_ARCHITECTURE
是您正在构build的CPU,其中之一是:
i386 , armv6 , armv7
使用i386进行模拟器构build,使用armv6或armv7进行器件构build – 注意其他一些器件不能运行armv7代码,因此通常在构build库时,build立所有这些架构并使用lipo
将它们粘合在一起是一个好主意。
SIMULATOR_OR_IOS_SDK
是你正在寻找的,它是要么iphoneos
或iphonesimulator
。 这些值使用已安装的XCode支持的SDK的最新版本,您可以通过以下方式获得支持的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设置构build属性后通常使用的标志。 你不必全部使用它们,但是清楚你正在构build的东西可能是一个好主意 – 否则我相信你最后的设置被使用了。
我发现-xcconfig
标志非常有用。 这个选项允许你指定一个到xcconfig(构build设置文件)的path。 在xcconfig中,你可以#include
其他的xcconfig文件。