自动打包 xcodebuild
自动打包 xcodebuild
xcodebuild
xcodebuild
是命令行工具包Command Line Tools
的其中一项。
命令行工具包 Command Line Tools
的安装
Xcode-select 命令
Xcode-select
是 Mac
系统自带的命令行工具,当电脑安装了多个 Xcode
的时候,Xcode-select
用来选择命令行工具具体是用哪个版本的 Xcode
服务。
命令行工具安装指令: xcode-select --install
选择指定的Xcode路径:xcode-select --switch <path>
xcodebuild 命令
Archive
xcodebuild archive -workspace 项目名称.xcworkspace
-scheme 项目名称 (可运行 xcodebuild -list 获取 scheme)
-configuration 构建配置 (可运行 xcodebuild -list 获取 configuration)
-archivePath archive包存储路径
CODE_SIGN_IDENTITY=证书
PROVISIONING_PROFILE=描述文件UUID
Export
xcodebuild -exportArchive -archivePath archive文件的地址.xcarchive
-exportPath 导出的文件夹地址
-exportOptionsPlist exprotOptionsPlist.plist
CODE_SIGN_IDENTITY=证书 (若exportOptionsPlist包含了证书配置,可以忽略)
PROVISIONING_PROFILE=描述文件UUID (若exportOptionsPlist包含了证书配置,可以忽略)
Clean
xcodebuild clean
-workspace <workspaceName>
-scheme <schemeName> #从-list命令中获取
-configuration <Debug|Release>
在执行过程中,不想看到日志输出,可以在命令行后面加上
-quiet // 当只有 warn 和 error 才会输出日志
可选命令说明
命令名称 | 命令描述 |
---|---|
-project | 项目名称 |
-target | target 名称 可运行 -list 获取 |
-workspace | 工作空间名称 |
-scheme | 编译计划名称 可运行 -list获取 |
-configuration | 编译配置 Debug/Release 可运行 -list 获取到 |
exportOptionsPlist 获取
exportOptionsPlist
可通过手动打包一次获取
具体流程如下:
-
第一步
image -
第二步
image -
第三步
image选择需要打包的方式
-
第四步
image图片中圈出的选项一定要去掉选中状态,否则到时候自动打包的时候会错误
-
第五步
image手动选择配置文件,在这里我没有使用自动管理证书配置
-
第六步
image点击导出按钮导出
-
第七步
导出之后,找到导出文件夹所在的位置,可以看到文件夹里面有一下文件
image -
查看
ExportOptions.plist
文件
参数 | 参数讲解 |
---|---|
compileBitcode | bitCode 这个第四步的时候需要取消勾选该选项,如果勾选了该选项,值为 YES ,到时候打包会出错 |
destination | export 导出 |
method | 这个值取决于第三步操作,在这里选择是 Development |
provisioningProfiles | 配置文件 |
signingCertificate | 打包证书 |
signingStyle | manual 默认这个 |
这样一个 exportOptionsPlist.plist
文件获取完成,这个 plist
文件只能适用于 Development
打包,其他 App Store Connect
、Ad Hoc
、Enterprise
如果有需要,可以同样的方式进行手动打包一次,获取到对应的 plist
文件,保存好,以便于利用 xcodebuild
进行导出操作。
xcodebuild 打包
打开 终端
, 进入项目根目录
-
输入
imagexcodebuild -list
指令,查看信息 -
继续输入
clean
指令xcodebuild clean -workspace AutoArchive.xcworkspace -scheme AutoArchive -configuration Debug
-workspace 此处因为使用了 Cocoapods,所以使用 -workspace,若未使用 CocoaPods ,使用 -project
-shceme 上一步获取到的信息填入
-configuration 上一步获取到的信息填入运行结果如上
-
开始打包
xcodebuild archive -workspace AutoArchive.xcworkspace -scheme AutoArchive -configuration Debug -archivePath 打包存放路径/包名.xcarchive CODE_SIGN_IDENTITY="项目证书" PROVISIONING_PROFILE="配置文件"
项目证书获取在钥匙串,找到项目对应的证书,直接复制标题,粘贴过来即可,配置文件的
imageUUID
获取,首先打开finder
→ 前往/Users/用户名/Library/MobileDevice/Provisioning Profiles
→ 找到对应的描述文件,然后直接复制配置文件名,不需要.mobileprovision
后缀名。
如果修改了描述文件名称,可以根据security cms -D -i XXX.mobileprovision
获取到描述文件的UUID
最后结果是如上,便代表打包成功,接下来就是好导出生成
ipa
文件了。 -
导出生成
ipa
文件
imagexcodebuild -exportArchive -archivePath 刚打包.xcarchive的地址 -exportPath ipa文件存放地址 -exportOptionsPlist exportOptionsPlist 文件地址
结果如上所示,这样就导出一个ipa
文件成功了。