iOS脚本打包和持续集成
BWiOSPackage
iOS Continuous Integration
Github:https://github.com/bobwongs/BWiOSPackage
Contents
- iOS Xcode Project
- Xcode打包
- 脚本打包
- iOS ipa包
- 持续集成
- 自动化测试
- Reference
- 经验总结
- Follow Me
iOS Xcode Project
Workspace
简单来说,Workspace就是一个容器,在该容器中可以存放多个你创建的Xcode Project, 以及其他的项目中需要使用到的文件。使用Workspace的好处有,1),扩展项目的可视域,即可以在多个项目之间跳转,重构,一个项目可以使用另一个项目的输出。Workspace会负责各个Project之间提供各种相互依赖的关系;2),多个项目之间共享Build目录。
Project
指一个项目,该项目会负责管理生成一个或者多个软件产品的全部文件和配置,一个Project可以包含多个Target。
Target
一个Target是指在一个Project中构建的一个产品,它包含了构建该产品的所有文件,以及如何构建该产品的配置。
Scheme
一个定义好构建过程的Target成为一个Scheme。可在Scheme中定义的Target的构建过程有:Build/Run/Test/Profile/Analyze/Archive
Build Setting
配置产品的Build设置,比方说,使用哪个Architectures?使用哪个版本的SDK?。在Xcode Project中,有Project级别的Build Setting,也有Target级别的Build Setting。Build一个产品时一定是针对某个Target的,因此,XCode中总是优先选择Target的Build Setting,如果Target没有配置,则会使用Project的Build Setting。
Build Phases
- Target Dependencies
- Compile Sources(编译资源,可设置Compiler Flags)
- Link Binary With Libraries
- Copy Bundle Resources(直接拷贝到包里面的资源)
- Run Script(运行脚本,运行脚本不用拷贝到Bundle
测试环境已经搭建好了,那么下一步的工作,自然就该开始测试了。但是为了测试,我们需要先把应用跑起来。这个步骤每个iOS开发者可能都做过,就是点击Xcode的run,或者cmd+R,然后模拟器就启动了。那么这中间都发生了什么呢?
这次的内容,主要讨论从点击run到启动模拟器之前的部分,是为以后命令行运行
iOS
应用做准备,为以后Jenkins启动应用打下基础。关于Android
,将会在以后讲述。内容很基础,但是坑也不少。
欢迎入坑
iOS脚本打包和持续集成相关推荐
- 基于 KIF 的 iOS UI 自动化测试和持续集成
客户端 UI 自动化测试是大多数测试团队的研究重点,本文介绍猫眼测试团队在猫眼 iOS 客户端实践的基于 KIF 的 UI 自动化测试和持续集成过程. 一.测试框架的选择 iOS UI 自动化测试框架 ...
- Flutter-解决混合开发iOS脚本打包遇到的问题
收录:LinXunFeng 使用Xcode手动打包是正常的,但是使用脚本打包会报错,错误如下: The following build commands failed:PhaseScriptExecu ...
- IOS使用Jenkins进行持续集成
概述:为了方便测试人员测试,利用jenkins进行自动化打包并部署,减少开发人员手动打包.解除开发与测试之间的耦合,提高开发效率. 1.软件下载 需要的软件包下载地址:软件包 1.1 Tomcat安装 ...
- 【狂云歌之unity_vr】unity项目持续集成dailybuild以及多平台打包管理
[狂云歌之unity_vr]unity项目持续集成dailybuild以及多平台打包管理 前言 持续集成的意义就不多说了.unity通常打包一般就直接build&run,但是在实际项目中,往 ...
- Jenkins——Jenkins介绍+基于云平台的Jenkins安装和持续集成环境配置(插件+用户权限+凭据+Maven打包)
Jenkins--Jenkins介绍+基于云平台的Jenkins安装和持续集成环境配置(插件+用户权限+凭据+Maven打包) 持续集成及Jenkins介绍 软件开发生命周期 什么是持续集成? 持续集 ...
- EasyClick iOS脚本_免越狱_免硬件工程打包IPA使用说明
EasyClick iOS脚本打包IPA EasyClick iOS脚本,免越狱,免硬件支持打包ipa包,并安装到手机上执行,具体打包流程如下 选择需要打包的工程 必须要选择EasyClick iOS ...
- 构建基于Jenkins + Github的持续集成环境
登录 | 注册 John_cdy的专栏 学无止境 目录视图 摘要视图 订阅 有奖征资源,博文分享有内涵 6月推荐文章汇总 CSDN博文大赛初赛晋级名单公布 关注CSDN社区微信,福利多多 构建基于Je ...
- Android 持续集成实践(三)——编写 .gitlab-ci.yml 实现自动化
文章目录 前言 系列文章 Android 持续集成实践(三)--编写 .gitlab-ci.yml 实现自动化 要实现的效果 定义 gitlab-ci 工作场景阶段 定义 build 任务 定义 re ...
- Unity脚本打包和Jenkins打包
首先我们假设所有的环境和参数都配置好了. 常规打包: 打开Unity -> File -> Building Setting -> 点击 Build 按钮. 脚本打包:不需要打开Un ...
最新文章
- 一个不错的安卓下ssh客户端
- javascript:12种JavaScript MVC框架之比较
- zigbee vs 433
- 微信和html5的使用感觉,微信小程序和HTML5相比有何不同呢?
- 【数据结构与算法】之深入解析“键盘行”的求解思路与算法示例
- python矩阵中的冒号:
- 【JAVA 第三章 流程控制语句】课后习题 输出正整数的顺序相反数
- dell服务器硬盘锁_服务器十大排行
- 2、启动Spring Boot 容器
- oracle安装实验,Oracle之课程实验一(安装oracle)
- 小程序swiper效果高宽设置(微信小程序交流群:604788754)
- Swing 设置无边框Frame
- 计算机网络中出现异常流量,计算机网络下网络流量异常的检测算法
- P1282 多米诺骨牌题解
- py:os模块:getcwd等处理文件和目录的方法
- 南外计算机课,南外河西初中召开仿生机器人创客空间项目建设方案答辩论证会...
- 刷脸支付不用带手机不需要扫二维码
- 运筹说 第85期 | 只有初中学历的数学家
- android nfc驱动,Android NFC 简单梳理
- 关于Win10工具栏WIFI消失与网络功能丧失的一种解决办法
热门文章
- 系列漫画:神秘的程序员们 全集连载——绝对经典
- JAVA通过身份证号码获取出生年月、年龄及性别
- debian 9 ssh root权限登录
- 使用HTML+CSS写一个静态页面
- js获取本机mac地址,IP地址
- JavaScript 允许自定义对象,运动兑换商品的小程序,微信步数兑换积分,会员营销软件,让顾客更加愿意来店消费,提升店铺的会员粘性及活越性
- 收藏夹吃灰系列(九):实现图片倒排序并取出时间最近的那一张!并下载到本地 | 超级详细,建议收藏!
- 超级喜欢老罗,2016发布了新手机
- LeetCode 1011. 在 D 天内送达包裹的能力
- “爱你千百遍” 消息连发