如何指定 xcodebuild(命令行工具) ,是否要为模拟器或设备构建?
xcodebuild
从命令行构建的 Xcode 如下所示:
xcodebuild -configuration ${BUILD_TYPE} -target ${TARGET_NAME} -arch ${CPU_ARCHITECTURE} -sdk ${SIMULATOR_OR_IOS_SDK}
BUILD_TYPE类似于“发布”或“调试”(这些是默认值,您可能已经将其他内容添加到项目中)
BUILD_TYPE
TARGET_NAME是正在构建的目标的名称(默认情况下与项目的名称相同)
TARGET_NAME
CPU_ARCHITECTURE是您正在构建的 CPU,其中之一是:
CPU_ARCHITECTURE
I386 ,Armv6,< strong > armv7
在模拟器构建中使用 i386,在设备构建中使用 armv6或 armv7——注意,有些设备不能运行 armv7代码,所以通常在构建库时,构建所有这些架构,然后使用 lipo将它们粘合在一起是个好主意。
lipo
SIMULATOR_OR_IOS_SDK就是你要找的,不是 iphoneos就是 iphonesimulator。这些值使用安装的 Xcode 支持的 SDK 的最新版本,您可以通过以下方法获得支持的 SDK 的列表:
SIMULATOR_OR_IOS_SDK
iphoneos
iphonesimulator
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 文件。
-xcconfig
#include