iOS自动化打包 ---- xcodebuild 命令详解

测试阶段频繁的打包,尤其是项目工程比较庞大的时候,电脑配置又比较一般,打一次包真的是可以玩手机了。为了不占用我们宝贵的时间,自动化打包还是很必要的

成本最低的打包方式,就属xcode自带的xcodebuild命令了

打好包导出ipa其实也就2行脚本代码 ----- 编译打包、导出ipa
主要命令参数简介如下:

1、Archive

xcodebuild archive 
           -archivePath 
           -project 
           -workspace 
           -scheme     #从-list命令中获取
           -configuration 

2、Export

xcodebuild -exportArchive
           -archivePath 
           -exportPath 
           -exportOptionsPlist    #这个plist文件可以通过打一次ipa包里面去获取

当然,喜欢干净的朋友可以在打包之前执行一下cmd + K清理一下工程
对应当然也有脚本命令啦

3、Clean

xcodebuild clean
           -workspace 
           -scheme     #从-list命令中获取
           -configuration 

如果在执行过程中又不喜欢日志输出的,可以在命令行最后加上

-quiet    #只有 warn 和 error 才会输出

以上就是自动化打包基本的几种使用方法以及参数配置了,当然xcodebuild的参数非常多,xcode能做的事情大部分都有对应的命令行
下面列出部分可选命令的命令说明,如果需要更复杂的使用方法,可以浏览官方文档

看到这里,希望通过该命令集成属于自己的shell脚本的可以参考这篇
iOS自动化打包 ---- 集成shell脚本

可选命令命令说明

命令名称 命令描述
-usage 查看xcodebuild简洁的用法
-help 查看帮助
-verbose 提供额外的状态输出
-license 显示Xcode和SDK许可协议
-checkFirstLaunchStatus 检查是否有任何初启动任务需要执行
-project NAME 编译项目名称,例如:xcodebuild -project XXX.xcodeproj
-target NAME 编译目标名称
-workspace NAME编译工作空间名称
-scheme NAME 编译计划名称
-configuration NAME 为构建每一个目标使用build配置名称
-xcconfig PATH 在PATH作为替代应用文件中定义的构建设置
-arch ARCH 建立每个目标的架构ARCH;这将覆盖在项目中定义的架构
-sdk SDK 使用指定的SDK编译项目
-toolchain NAME 使用工具链与标识或名称
-destination DESTINATIONSPECIFIER 使用由目标说明(用逗号分隔的一系列的key =描述目的地使用值对)中描述的目的地
-destination-timeout TIMEOUT 等待TIMEOUT秒,而搜索的目标设备
-parallelizeTargets 建立并行独立目标
-jobs NUMBER 指定并发生成操作的最大数量
-dry-run 做一切,除了实际运行的命令
-hideShellScriptEnvironment 不显示在构建日志shell脚本中的环境变量
-showsdks 显示已安装的SDK的列表
-showBuildSettings 显示构建设置和值的列表
-list 列出了在一个工作空间中的一个项目的目标和配置,或方案
-find-executable NAME 在所提供的SDK和工具链显示的完整路径可执行文件名称
-find-library NAME 在所提供的SDK和工具链显示的完整路径库名
-version 显示的Xcode的版本;与-sdk将显示一个或所有已安装的SDK信息
-enableAddressSanitizer YES/NO 测试时打开或关闭地址过滤
-resultBundlePath PATH 指定在描述什么发生了捆绑的结果将被放置的目录
-derivedDataPath PATH 指定的目录中生成产品和其他衍生数据会
-archivePath PATH 被指定任何创建的档案将被放置的目录,或应导出存档
-exportArchive 指定归档应导出
-exportOptionsPlist PATH 指定用于配置归档导出plist文件的路径
-enableCodeCoverage YES/NO 打开代码覆盖率或关闭时的测试
-exportPath PATH 指定从存档导出的产品的目标
-skipUnavailableActions 指定不能执行计划的行动应被跳过而不是导致失败
-exportLocalizations 出口完成优秀项目本地化
-importLocalizations 进口本地化项目,假设任何必要的本地化资源在Xcode中已创建
-localizationPath 指定XLIFF本地化文件路径
-exportLanguage 规定包括在本地化出口多个可选ISO 639-1语言

参考文章:xcodebuild命令介绍

你可能感兴趣的:(iOS自动化打包 ---- xcodebuild 命令详解)