两个命令的语法以及使用方法,资料比较多,到处都可以找到,比如:

iOS 自动构建命令——xcodebuild

基于xcodebuild和xcrun的自动化打包

iphone-命令行编译之--xcodebuild

xcodebuild负责将工程源文件编译成xxx.app
xcrun负责给xxx.app(签名并)打包成xxx.ipa

构建APP

xcodebuild(1) Mac OS X Developer Tools Manual Page

1. build Xcode项目

构建一个Xcode项目,在项目目录下运行xcodebuild就可以了

xcodebuild [-project projectname] [-target targetname ...] [-configuration configurationname][-sdk [sdkfullpath | sdkname]] [buildaction ...] [setting=value ...][-userdefault=value ...]

如果是单target单schema,直接xcodebuild不指定任何参数,就生成relaase版本真机模式的app

比如:

(1)"CompileC"使用"clang"编译每个文件

(2) "LD":链接成不同架构

(3) "lipo":创建通用库

(4) 处理资源

ibtool处理storyboard文件,actool处理Assets文件

(4) "dsymutil":生成dSYM文件

(5) 链接资源

(6) 签名、验证

至此,build结束

2. build workspace

如果要构建workspace,你必须指定-workspace-scheme参数

xcodebuild -workspace workspacename -scheme schemename [-destination destinationspecifier][-destination-timeout value] [-configuration configurationname][-sdk [sdkfullpath | sdkname]] [buildaction ...] [setting=value ...][-userdefault=value ...]

比如:

注意:workepacename是指带 .xcworkspace后缀的完整名字

3. xcpretty

xcpretty is a fast and flexible formatter for xcodebuild

其实就是用来格式化(美化)xcodebuild命令行工具输出日志的一个小工具,安装命令:

gem install xcpretty

更多使用方法见项目首页: https://github.com/supermarin/xcpretty

xcodebuild输出日志如下图所示:

是不是“惨不忍睹”啊,那用 xcpretty表现一下吧,执行如下命令:

xcodebuild | xcpretty

打包IPA

xcrun工具

xcrun-Apple Developer
命令如下:
xcrun -sdk iphoneos PackageApplication -v 源app路径 -o 输出的ipa路径

最关键的就是zip,做下压缩处理

xcodebuild

其实从上面就可以看出,建议 PackageApplication用`xcodebuild -exportArchive`来替换
(1)执行 xcodebuild clean 进行清除

(2)执行 xcodebuild archive -scheme "xxx" -configuration "Release" -archivePath "xxx/1.xcarchive"
其中 scheme 参数需要对应到工程 mobile target 名称

configuration 为固定的 Release
archivePath 指定导出的 .xcarchive 文件的位置
这个命令就相当于Xcode中的"Archive"菜单

它和PackageApplication的不同之处在于:

PackageApplication基于生成的app打包,xcodebuild archive是基于源代码编译生成然后打包

(3) 执行 xcodebuild -exportArchive -archivePath "xxx/1.xcarchive" -exportPath "xxx/1.ipa" -exportFormat IPA -exportProvisioningProfile "XC: *"
其中 archivePath 跟上个命令参数对应

exportPath 为导出 ipa 文件的目录
exportForma IPA为固定值,
exportProvisioningProfile 是 provisioning profile 的名称,与创建工程时所选的 provisioning profile 有关
如果Xcode工程已经配置好了证书的话,exportProvisioningProfile参数可以不用添加
xcodebuild -exportArchive的功能跟xcrun PackageApplication一样

iOS自动构建以及打包命令(xcodebuild,xcrun)相关推荐

  1. 自己动手设计一款iOS自动构建发布工具

    2019独角兽企业重金招聘Python工程师标准>>> 自己动手设计一款iOS自动构建发布工具 一.引言 在iOS开发中,你可能经常会遇到这样的场景: 自己负责的功能模块开发完成后, ...

  2. iOS 自动构建命令——xcodebuild

    想想当初天天来到公司,每天需要做一件事就是打开Xcode打包ipa,上传到fir.日复一日月复一月年复一年的做着同样的事情,作为有志成为优秀工程师的我来说,这是必须要解决的问题,所以决定自动化解决问题 ...

  3. iOS 自动构建套件 - flow.ci + fir.im + Coding

    2019独角兽企业重金招聘Python工程师标准>>> 编者按:本文转载自 flow.ci 用户 GitHub@mzying2013 的实践分享,原文链接这里. 前言 相信很多最开始 ...

  4. ios 自动打包命令_通过命令行xcodebuild编译打包iOS应用

    点击上方"软件测试精品"关注我们 为什么要自动化打包? iOS编译打包需要签名,测试包又需要连接不同后台服务器,开发人员就需要不断地打开Xcode编译打包成ipa,然后上传到ftp ...

  5. 使用Jenkins配置iOS自动化构建工具

    关于iOS自动化构建其实并不复杂,通过一些简单的Git与Xcode指令,加上UI,我们自己也可以动手编写一款自动化构建工具.这在之前的博客中也有涉及,有兴趣的朋友可以在如下地址找到这篇博客: 自己动手 ...

  6. ios 自动打包命令_【实践】iOS使用Jenkins实现自动化打包并上传蒲公英

    作者:怪兽monster 链接:https://www.jianshu.com/p/f4a0093d3bed 一.安装本地Jenkins 1.通过Home brew安装本地Jenkins brew i ...

  7. ios 自动打包命令_iOS Xcode 自动打包,一键上传AppStore脚本

    #!/bin/sh # 使用方法 # 1.将autoarchive.sh和附件中的plist,放在一起,新建文件夹为Shell,将这几文件复制进去,然后复制Shell文件夹到工程的根目录 # 2.终端 ...

  8. 【iOS小白教程】如何打包:xcodebuild和xcrun介绍

    摘抄自2016-06-25-ios-xcodebuild xcodebuild 简介 xcodebuild 用于编译xcode中的projects和workspaces 文档 1 在终端中输入 $ m ...

  9. iOS自动签名打包(xcodebuild)----常用

    iOS自动打包主要用xcodebuild命令, 在终端输入xcodebuild --help可以查看xcodebuild的参数. xcodebuild具体语法: 无workspace的工程 xcode ...

最新文章

  1. PyInstaller将python脚本打包成exe可执行程序
  2. 【深度学习】腹部CT的肝脏肿瘤分割的探索
  3. 认真了解一下javascript
  4. 【Matlab】如何对二维矩阵进行线性/非线性插值?
  5. 在Navicat中直接向表里添加数据
  6. 线性代数回顾.pptx
  7. 用了Elasticsearch后,查询起飞了!
  8. 【lua学习】4.表
  9. 云原生之上,亚马逊云科技发布多项容器与Serverless服务,持续发力现代化应用
  10. 【Debian】ftp安装
  11. linux flush 文件,Linux文件系统学习:io的plug过程-blk_flush_plug_list的情况
  12. mysql选择哪个隔离级别更好_深入理解Mysql的四种隔离级别
  13. 微信公众号支付功能开发
  14. Another version of Vue Devtools seems to be installed报错
  15. 如何学计算机打字,电脑如何快速学会打字
  16. vRealize Operations Manager 仪表板示图
  17. 蚂蚁金服首席数据科学家漆远:AI技术开放,与业界融合共创
  18. java判断图片相同_java 识别图片相似度及图片是否相同
  19. Android adb.exe程序启动不起来 具体解决方法
  20. 骁龙660是32位还是64位_高通骁龙手机cpu64位比32位有什么优势?

热门文章

  1. RESTful风格的springMVC
  2. 计算机专业怎样才能晋级正高级
  3. 钉钉 服务器 消息推送,【20210727 更新】 全能推送PushBot(原钉钉推送)支持企业微信,PushPlus,Bark...
  4. Blinker+小爱同学+四路继电器+(RFID+舵机模拟开门)代码
  5. 【matlab教程】11、动态数组
  6. pycharm更改整体背景颜色(黑-白)
  7. Quick Reference 代码速查表
  8. 02 数据定义语言DDL
  9. Arduino UNO驱动MCP9808高精度数字温度传感器
  10. buck dcm占空比计算_buck电路输出电容及其他参数计算