xcodebuild:模拟器还是设备?

时间:2011-02-15 22:03:48

标签: iphone xcode ios xcodebuild

如何指定xcodebuild(命令行工具)是否要为模拟器或设备构建?

2 个答案:

答案 0 :(得分:131)

命令行中的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正是您要找的,可以是iphoneosiphonesimulator。这些值使用已安装的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设置构建属性后常用的。你不必全部使用它们,但是明确你正在构建的东西可能是一个好主意 - 否则我相信你的最后设置被使用了。

答案 1 :(得分:1)

我发现-xcconfig标志非常有用。此选项允许您指定xcconfig(构建设置文件)的路径。在xcconfig中,您可以#include其他xcconfig文件。