点击上方“软件测试精品”关注我们

为什么要自动化打包?

iOS编译打包需要签名,测试包又需要连接不同后台服务器,开发人员就需要不断地打开Xcode编译打包成ipa,然后上传到ftp服务器或通过邮件发送给产品和测试人员。日复一日做着同样的事情,很枯燥,效率低且容易出错,对于优秀的程序员来说,能自动化解决的事怎么还能人工操作呢?

iOS 自动构建命令:xcodebuild

xcodebuild 是苹果发布的自动构建工具,用法可以在终端输入man xcodebuild 查看。

xcodebuild的使用方法:

在项目目录(包含projectname.xcodeproj文件的目录)下,运行xcodebuild命令:

默认xcodebuild命令会构建第一个target,也可以用-targetname指定target。如果要构建workspace,需指定-workspace和-scheme参数。

编译打包步骤:

第一步:清理

xcodebuild -target targetname clean 清理上一次运行缓存结果

第二步:编译

使用pod进行第三方库管理的工程,工程目录下会有两个文件:.xcworkspace,.xcodeproj xcworkspace是工作区文件,xcodeproj是工程文件,工作区文件包含工程文件。

1, 如果有工作区xcworkspace的可以直接用工作区编译

xcodebuild -workspace workspacename -scheme schemename [-destination destinationspecifier]

[-destination-timeout value] [-configuration configurationname]

[-sdk [sdkfullpath | sdkname]] [buildaction ...] [setting=value ...]

[-userdefault=value ...]

2, 如果只有xcodeproj文件,命令如下

xcodebuild [-project projectname] [-target targetname ...] [-configuration configurationname]

[-sdk [sdkfullpath | sdkname]] [buildaction ...] [setting=value ...]

[-userdefault=value ...]

参数:

-project #项目名字

-scheme #scheme名字

-target #target可以通过命令xcodebuild -list获取

-configuration #Debug或者Release

-sdk #可以通过xcodebuild -showsdks获取

构建的动作build, analyze, archive, test, install, clean 默认是build

CONFIGURATIONBUILDDIR #build文件夹

CODESIGNIDENTITY #签名

PROVISIONING_PROFILE #签名profile

运行成功后,在项目目录下生成build文件夹,文件下有生成的.app以及dSYM文件。

第三步:打包

找到编译成的targetname.app文件夹,使用下面的命令进行打包生成.ipa文件

xcrun -sdk iphoneos PackageApplication "所在目录/targetname.app" -o 想要输出的目录/文件名.ipa

打包成功后,输出的目录下找到ipa

本文转载于微信公众号: 软件测试精品(chinatesters),更多微信文章请扫描关注公众号:

Tag标签:

ios 自动打包命令_通过命令行xcodebuild编译打包iOS应用相关推荐

  1. 黑苹果更改时间命令_从命令行设置Mac OS X中的系统时间 | MOS86

    默认情况下,Mac OS X中的时钟自动设置,但如果要设置精确时间或正在寻找命令行解决方案来设置系统时间,则可以使用名为ntpdate的工具或标准日期命令来执行此操作. 在Mac OS X中使用中央时 ...

  2. 命令行处理器命令_使用命令行处理器

    命令行处理器命令 在你开始前 DB2 JSON可用于Linux,UNIX和Windows 10.5的DB2以及用于z / OS V3.1的IBM DB2 Accessories Suite来与DB2 ...

  3. ios 自动缩小字体_技巧:如何改变iPhone上的字体大小

    腾讯数码讯(编译:李斯特)最近收到不少朋友关于iPhone默认字体大小的抱怨:虽然iOS默认字号设置是经过精心设计的,但是对于一些用户来说,默认的字号还是显得偏小,导致信息或者其他界面的文字看起来比较 ...

  4. ios 查看同文件名_实战恢复cisco 2950交换机的IOS

    本来想用两台思科交换机做实验的,可是通过console口进入其中一台交换机后却发现这个台交换机的IOS文件丢失了.本来正常进入交换机后应该是首先进入到用户模式的,而且提示符应该是">& ...

  5. 刷新mac地址命令_配置好Cisco交换机需要熟悉IOS命令及相关的知识

    一.几种配置命令模式 switch> 这种提示符表示是在用户命令模式,只能使用一些查看命令. switch# 这种提示符表示是在特权命令模式. switch(config)# 这种提示符表示是全 ...

  6. openshift命令_使用命令行工具创建WildFly OpenShift应用程序

    openshift命令 通过使用快速入门,可以轻松地在OpenShift上配置WildFly的新实例. 只需单击一下,您就可以准备就绪! 通常,OpenShift的高级用户使用命令行工具 . 但是,您 ...

  7. cmd 复制到剪贴板命令_从命令行复制到剪贴板

    cmd 复制到剪贴板命令 If you've ever been debugging with a fellow developer, you'll hear "OK, execute th ...

  8. innovus停止当前命令_从命令行停止node.js程序

    我正在添加这个答案,因为对于许多具有生产部署的项目,我们有脚本可以阻止这些流程,所以我们不必这样做. 管理节点服务器进程的一种干净方法是使用info: Forever stopped process: ...

  9. ios 自动缩小字体_小字体紫筑B丸85%中粗体文件+deb双版本

    今天带来的是有字由心雨公众号的一款收费字体『紫筑B丸』,我把5字重里面的中粗体提取出来单独缩小至85%后做成了单字重,同时把英文也改变成和中文对应的大小粗度后,整体感觉非常的舒服,也一直是我自用最久的 ...

最新文章

  1. 淘宝姐姐不要过滤掉js我们还是好朋友
  2. WordPress备份的七种办法
  3. TensorFlow for Hackers (Part VI) - Human Activity Recognition using LSTMs on Android
  4. 重要接口—Serializable接口
  5. 对Android源码分析总结(Z)
  6. 乔布斯死后的300亿遗产终于被败光了,没想到竟是干了这件事
  7. IBM发布JumpGate 连接OpenStack和公有云
  8. fluent并行 linux_windows 系统下启动linux主机群的fluent并行操作.docx
  9. PL/SQL Developer 更改字体
  10. maven笔记(2)-- 构建Java Project 及 Maven命令使用
  11. 2021牛客寒假算法基础集训营2,签到题FHIJ
  12. Coolite Toolkit学习笔记七:常用控件TreePanel
  13. modbus协议的常用测试工具
  14. 最全的ASCII码对照表
  15. 对知识推理的认识的相关论文
  16. HTML中font标签中size属性值对应的像素大小
  17. 浑身尖刺的服务可用性守护者——hystrix熔断器实践记录
  18. oracle wallet java_使用Oracle sqlplus Instant客户端访问Oracle Wallet
  19. 什么是工作流管理系统?
  20. 全息投影是计算机领域吗,世界计算机大会丨科技走进课堂:5G+全息投影教学

热门文章

  1. Delphi 程序开发范例宝典(第2版)高清PDF下载 附光盘
  2. listview-android:打造万能通用适配器(转)
  3. 2018.3.12 Leecode习题 给定一个整数数列,找出其中和为特定值的那两个数。
  4. JavaWeb一些常用操作
  5. 如何配置jdk的本地环境
  6. Memcached安装及配置
  7. storyboard之 Segue
  8. Spring mvc框架下使用kaptcha生成验证码
  9. Linux-shell获取天气
  10. 最短路径(单源 dijkstra算法-邻接矩阵)