如何指定xcodebuild
(命令行工具)是否要为模拟器或设备构建?
Answers:
从命令行构建的Xcode如下所示:
xcodebuild -configuration ${BUILD_TYPE} -target ${TARGET_NAME} -arch ${CPU_ARCHITECTURE} -sdk ${SIMULATOR_OR_IOS_SDK}
BUILD_TYPE
类似于“发布”或“调试”(这些是默认设置,您可能已将其他添加到项目中)
TARGET_NAME
是您要构建的目标的名称(默认情况下与您的项目名称相同)
CPU_ARCHITECTURE
是您要为其构建的CPU,其中之一:
i386,armv6,armv7
使用i386进行模拟器构建,并使用armv6或armv7进行设备构建-请注意,某些其他设备无法运行armv7代码,因此通常在构建库时,最好构建所有这些体系结构,然后使用将它们粘合在一起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设置构建属性后通常使用的标志。您不必全部使用它们,但是弄清楚您要构建的内容可能是个好主意-否则,我相信您会使用最后的设置。
-configuration
并且-target
,我只是忘记了SDK设置的是硬件还是模拟器。谢谢!
-sdk iphoneos
最新版本。
-sdk iphonesimulator
,我还必须使用-arch i386
,因为xcodebuild在某些llvm命令中出错了。