XcodeBuild命令介绍
原料:Xcode 7.3 Build version 7D175
使用方法一:
xcodebuild
[-project ] #项目名称
[[-target ]...|-alltargets] #target名称
[-configuration ] #configuration名称
[-arch ]...
[-sdk [|]] #SDK名称
[-showBuildSettings]
[=]...
[]...
使用方法二:
xcodebuild
[-project ] #项目名称
-scheme #scheme名称
[-destination ]...
[-configuration ]
[-arch ]...
[-sdk [|]]
[-showBuildSettings]
[=]...
[]...
使用方法三:
xcodebuild
-workspace
-scheme
[-destination ]...
[-configuration ]
[-arch ]...
[-sdk [|]]
[-showBuildSettings]
[=]...
[]...
基本命令
- 查看xcodebuild简洁用法
xcodebuild -usage
- 查看已安装的SDK
xcodebuild -showsdks
- 查看安装的版本号
xcodebuild
-version
[-sdk [|] [] ]
例子:
1.xcodebuild -version
2.xcodebuild -version -sdk iphonesimulator9.3
- 查看项目中的Targets、Configurations和Schemes
xcodebuild
-list
[[-project ]|[-workspace ]]
例子:
1.xcodebuild -list
2.xcodebuild -list -workspace test.xcworkspace
- 导出Archive
xcodebuild
-exportArchive
-archivePath
-exportPath
-exportOptionsPlist
- exportLocalizations
xcodebuild
-exportLocalizations
-localizationPath
-project
[-exportLanguage ...]
- importLocalizations
xcodebuild
-importLocalizations
-localizationPath
-project
可选命令
xcodebuild [-xxx]...
例如:xcodebuild -usage
可选命令 | 说明 | 谷歌翻译 |
---|---|---|
-usage | print brief usage | 查看xcodebuild简洁的用法 |
-help | print complete usage | 查看帮助 |
-verbose | provide additional status output | 提供额外的状态输出 |
-license | show the Xcode and SDK license agreements | 显示Xcode和SDK许可协议 |
-checkFirstLaunchStatus | Check if any First Launch tasks need to be performed | 检查是否有任何初启动任务需要执行 |
-project NAME | build the project NAME | 编译项目名称,例如:xcodebuild -project XXX.xcodeproj |
-target NAME | build the target NAME | 编译目标名称 |
-targets | build all targets | 编译全部目标 |
-workspace NAME | build the workspace NAME | 编译工作空间名称 |
-scheme NAME | build the scheme NAME | 编译计划名称 |
-configuration NAME | use the build configuration NAME for building each target | 为构建每一个目标使用build配置名称 |
-xcconfig PATH | apply the build settings defined in the file at PATH as overrides | 在PATH作为替代应用文件中定义的构建设置 |
-arch ARCH | build each target for the architecture ARCH; this will override architectures defined in the project | 建立每个目标的架构ARCH;这将覆盖在项目中定义的架构 |
-sdk SDK | use SDK as the name or path of the base SDK when building the project | 使用指定的SDK编译项目 |
-toolchain NAME | use the toolchain with identifier or name NAME | 使用工具链与标识或名称 |
-destination DESTINATIONSPECIFIER | use the destination described by DESTINATIONSPECIFIER (a comma-separated set of key=value pairs describing the destination to use) | 使用由目标说明(用逗号分隔的一系列的key =描述目的地使用值对)中描述的目的地 |
-destination-timeout TIMEOUT | wait for TIMEOUT seconds while searching for the destination device | 等待TIMEOUT秒,而搜索的目标设备 |
-parallelizeTargets | build independent targets in parallel | 建立并行独立目标 |
-jobs NUMBER | specify the maximum number of concurrent build operations | 指定并发生成操作的最大数量 |
-dry-run | do everything except actually running the commands | 做一切,除了实际运行的命令 |
-hideShellScriptEnvironment | don't show shell script environment variables in build log | 不显示在构建日志shell脚本中的环境变量 |
-showsdks | display a compact list of the installed SDKs | 显示已安装的SDK的列表 |
-showBuildSettings | display a list of build settings and values | 显示构建设置和值的列表 |
-list | lists the targets and configurations in a project, or the schemes in a workspace | 列出了在一个工作空间中的一个项目的目标和配置,或方案 |
-find-executable NAME | display the full path to executable NAME in the provided SDK and toolchain | 在所提供的SDK和工具链显示的完整路径可执行文件名称 |
-find-library NAME | display the full path to library NAME in the provided SDK and toolchain | 在所提供的SDK和工具链显示的完整路径库名 |
-version | display the version of Xcode; with -sdk will display info about one or all installed SDKs | 显示的Xcode的版本;与-sdk将显示一个或所有已安装的SDK信息 |
-enableAddressSanitizer YES/NO | turn the address sanitizer on or off when testing | 测试时打开或关闭地址过滤 |
-resultBundlePath PATH | specifies the directory where a result bundle describing what occurred will be placed | 指定在描述什么发生了捆绑的结果将被放置的目录 |
-derivedDataPath PATH | specifies the directory where build products and other derived data will go | 指定的目录中生成产品和其他衍生数据会 |
-archivePath PATH | specifies the directory where any created archives will be placed, or the archive that should be exported | 被指定任何创建的档案将被放置的目录,或应导出存档 |
-exportArchive | specifies that an archive should be exported | 指定归档应导出 |
-exportOptionsPlist PATH | specifies a path to a plist file that configures archive exporting | 指定用于配置归档导出plist文件的路径 |
-enableCodeCoverage YES/NO | turn code coverage on or off when testing | 打开代码覆盖率或关闭时的测试 |
-exportPath PATH | specifies the destination for the product exported from an archive | 指定从存档导出的产品的目标 |
-skipUnavailableActions | specifies that scheme actions that cannot be performed should be skipped instead of causing a failure | 指定不能执行计划的行动应被跳过而不是导致失败 |
-exportLocalizations | exports completed and outstanding project localizations | 出口完成优秀项目本地化 |
-importLocalizations | imports localizations for a project, assuming any necessary localized resources have been created in Xcode | 进口本地化项目,假设任何必要的本地化资源在Xcode中已创建 |
-localizationPath | specifies a path to XLIFF localization files | 指定XLIFF本地化文件路径 |
-exportLanguage | specifies multiple optional ISO 639-1 languages included in a localization export | 规定包括在本地化出口多个可选ISO 639-1语言 |
-exportOptionsPlist PATH 指定plist文件内容格式
Key | value | 说明 | 谷歌翻译 |
---|---|---|---|
compileBitcode | Bool | For non-App Store exports, should Xcode re-compile the app from bitcode? Defaults to YES | 对于非App Store的出口,应重新编译Xcode中从bitcode应用程序?默认为YES |
embedOnDemandResourcesAssetPacksInBundle | Bool | For non-App Store exports, if the app uses On Demand Resources and this is YES, asset packs are embedded in the app bundle so that the app can be tested without a server to host asset packs. Defaults to YES unless onDemandResourcesAssetPacksBaseURL is specified | 对于非App Store的出口,如果应用程序使用按需的资源,这是YES,资产包被嵌入在应用程序包,使应用程序可以在没有服务器托管资产包进行测试。默认为YES除非指定onDemandResourcesAssetPacksBaseURL |
iCloudContainerEnvironment | For non-App Store exports, if the app is using CloudKit, this configures the "com.apple.developer.icloud-container-environment" entitlement. Available options: Development and Production. Defaults to Development | 对于非App Store的出口,如果应用程序使用CloudKit,这种配置“com.apple.developer.icloud容器环境”的权利。可用选项:开发和生产。默认为发展 | |
manifest | Dictionary | For non-App Store exports, users can download your app over the web by opening your distribution manifest file in a web browser. To generate a distribution manifest, the value of this key should be a dictionary with three sub-keys: appURL, displayImageURL, fullSizeImageURL. The additional sub-key assetPackManifestURL is required when using on demand resources | 对于非App Store的出口,用户可以通过在Web浏览器中打开您的分发清单文件下载你的应用程序在网上。要生成分布明显,此键的值应该是有三个子键的字典:appURL,displayImageURL,fullSizeImageURL。额外的子键assetPackManifestURL是按需使用资源时,需要。 |
method | String | Describes how Xcode should export the archive. Available options: app-store, ad-hoc, package, enterprise, development, and developer-id. The list of options varies based on the type of archive. Defaults to development | Xcode中描述如何导出存档。可用选项:应用程序商店,即席,包装,企业发展,开发人员ID。选项列表会有所不同根据存档的类型。默认为发展 |
onDemandResourcesAssetPacksBaseURL | String | For non-App Store exports, if the app uses On Demand Resources and embedOnDemandResourcesAssetPacksInBundle isn't YES, this should be a base URL specifying where asset packs are going to be hosted. This configures the app to download asset packs from the specified URL | 对于非App Store的出口,如果应用程序使用按需资源embedOnDemandResourcesAssetPacksInBundle不是YES,这应该是一个基本URL指定,其中资产包将要举行。该配置应用从指定的URL下载资产包 |
teamID | String | The Developer Portal team to use for this export. Defaults to the team used to build the archive | 开发者门户网站团队使用这个出口。默认为球队用来建立档案 |
thinning | String | For non-App Store exports, should Xcode thin the package for one or more device variants? Available options: |
对于非App Store的出口,Xcode中应该薄包一个或多个设备的变种?可用选项:<无>(Xcode中产生的非变薄普遍的应用程序),<薄参加的所有变体>(Xcode中产生一个通用的应用程序以及所有可用的变薄变型),或针对特定设备型号标识(例如“ iPhone7,1“)。默认为<无> |
uploadBitcode | Bool | For App Store exports, should the package include bitcode? Defaults to YES | 对于App Store的导出,应包包括bitcode?默认为YES |
uploadSymbols | Bool | For App Store exports, should the package include symbols? Defaults to YES | 对于App Store的出口,应包包含符号?默认为YES |
附录:xcodebuild命令简单使用