IOS自动化构建工具:xcodebuid

简介

简单的说,xcodebuild 是苹果发布自动构建的工具。

常用命令

我们最经常使用到的命令主要是打包ipa,而这主要需要以下两个命令。

archive 命令

1
2
3
4
5
6
xcodebuild archive -workspace [项目名称].xcworkspace
-scheme [项目名称]
-configuration [Debug/Release]
-archivePath [Archive路径].xcarchive
CODE_SIGN_IDENTITY=[证书]
PROVISIONING_PROFILE=[描述文件UUID]
命令 说明
-workspace 项目名
-scheme 使用xcodebuild -list查看
-configuration Debug/Release
-archivePath Archive路径
[可选] CODE_SIGN_IDENTITY 证书的Inentity。获取方法:打开你的钥匙串访问->选中其中一个证书->右键->显示简介,把标题复制出来就可以了。
[可选] PROVISIONING_PROFILE 描述文件UUID。文件位置:/Users/用户名/Library/MobileDevice/Provisioning Profiles ,文件名就是UUID

-exportArchive 命令

1
2
3
4
5
xcodebuild -exportArchive -archivePath [Archive路径].xcarchive
-exportPath [导出路径]
-exportOptionsPlist [exprotOptionsPlist文件路径]
CODE_SIGN_IDENTITY=[证书]
PROVISIONING_PROFILE=[描述文件UUID]
命令 说明
-exportPath 使用xcodebuild -list查看
-exportOptionsPlist 一个plist文件,用于配置相关信息。 下方有示例
-archivePath Archive路径
[可选] CODE_SIGN_IDENTITY 见上表
[可选] PROVISIONING_PROFILE 见上表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>provisioningProfiles</key>
<dict>
<key>####bundleID</key>
<string>####provision_profile_name</string>
</dict>
<key>teamID</key>
<string>####</string>
<key>method</key>
<string>development</string>
<key>uploadSymbols</key>
<true/>
</dict>
</plist>

注意

如果需要ad-hoc版,请修改method 成adhoc。

如何生成exportOptionList

可以通过xcode中手动操作archive时,会生成该文件,在生成的ipa包的同级目录下。

其他命令

使用 man xcodebuild 查看,或者可参看 xcodebuild 官方手册(貌似不是最新版)