测试阶段频繁的打包,尤其是项目工程比较庞大的时候,电脑配置又比较一般,打一次包真的是可以玩手机了。为了不占用我们宝贵的时间,自动化打包还是很必要的
成本最低的打包方式,就属xcode自带的xcodebuild
命令了
打好包导出ipa其实也就2行脚本代码 ----- 编译打包、导出ipa
主要命令参数简介如下:
1、Archive
xcodebuild archive
-archivePath <archivePath>
-project <projectName>
-workspace <workspaceName>
-scheme <schemeName> #从-list命令中获取
-configuration <Debug|Release>
2、Export
xcodebuild -exportArchive
-archivePath <xcarchivepath>
-exportPath <destinationpath>
-exportOptionsPlist <plistpath> #这个plist文件可以通过打一次ipa包里面去获取
当然,喜欢干净的朋友可以在打包之前执行一下cmd + K
清理一下工程
对应当然也有脚本命令啦
3、Clean
xcodebuild clean
-workspace <workspaceName>
-scheme <schemeName> #从-list命令中获取
-configuration <Debug|Release>
如果在执行过程中又不喜欢日志输出的,可以在命令行最后加上
-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命令介绍