文档章节

使用mac进行ios几种命令行打包方式

H
 HillYoung
发布于 2015/07/29 16:30
字数 663
阅读 1940
收藏 7

随着ios平台的发展以及发布要求的多样性,测试的需求,自动打包可一定程度上提高效率。

自动打包的方式有如下几种:

一、使用xcodebuild进行打包

     参考apple文档:https://developer.apple.com/library/prerelease/mac/documentation/Darwin/Reference/ManPages/man1/xcodebuild.1.html

 xcodebuild -project "${TARGET}.xcodeproj"  -target ${TARGET} CODE_SIGN_IDENTITY="${IDENTITY}" clean        //将project clean下
 
 xcodebuild -workspace MyWorkspace.xcworkspace -scheme MyScheme archive    //进行archive,生成xcarchive文件
xcodebuild -exportArchive -exportFormat IPA -archivePath MyMobileApp.xcarchive -exportPath MyMobileApp.ipa -exportProvisioningProfile 'MyMobileApp Distribution Profile'

上述红色背景的命令行,确实是可以生成.ipa,但是可能会导致不能安装,https://developer.apple.com/library/prerelease/mac/documentation/Darwin/Reference/ManPages/man1/xcodebuild.1.html , 链接是apple的官方文档,文档大概的意思将  xcarchive文件作为.ipa方式进行导出,  为什么不能在ios设备上安装?

二、原生xcodebuildxcrun进行打包,需要详细了解,可以看下这个链接 http://www.jianshu.com/p/1229476fbce4

    具体打包指令和第一种方法区别不大,不同代码如下:

xcodebuild -scheme Zxh -configuration ${buildConfiguration} clean   //对代码进行clean

xcodebuild -project Zxh.xcodeproj -scheme Zxh -configuration ${buildConfiguration} -destination generic/platform=ios archive -archivePath ${buildPath}    //进行build,相当于在xcode里面进行command+b,生成.app文件

#xcrun -sdk iphoneos PackageApplication -v build/Release-iphoneos/Zxh.app -o ${ipaName}.ipa --sign "iPhone Distribution:(打包证书)"            //根据.app文件生成的ipa文件导出到指定目录

三、xctool进行自动打包

参考网页地址:http://www.tuicool.com/articles/uIZRZjy

    1、确保安装了xctool

            没有安装xctool,可以用brew安装,没有安装brew的,可以通过搜索安装brew,然后执行如下操作安装xctool

            安装命令:sudo brew install xctool                

介绍下xctool命令:

xctool 是FaceBook开源的一个命令行工具,用来替代苹果的xcodebuild工具。

    先附上打包用的参考代码,如下:    

#

cd AutoProject                    //进入项目目录

#

buildDay=$(date +%Y%m%d)            //获取当前日期

buildTime=$(date +%Y%m%d%H%M)     //获取当前时间 

profile=”xxxx”      //设置打包配置文件

#

buildConfiguration=”QA”     //build时用的证书

buildPath=”../ArchiveProduction/QA/${buildDay}/Auto_QA_${buildTime}.xcarchive”     //build后归档的文件目录

ipaName=”../ipa/QA/${buildDay}/Auto_QA_${buildTime}.ipa”     //打好包放置位置

#

xctool -scheme AutoProject -configuration ${buildConfiguration} clean     //clean下工程

xctool -scheme AutoProject -configuration ${buildConfiguration} archive -archivePath ${buildPath}        //对项目进行Archive, 将xcarchive文件导出到指定目录

xcodebuild -exportArchive -exportFormat IPA -archivePath ${buildPath} -exportPath ${ipaName} -            exportProvisioningProfile “$profile”                    //生成的ipa文件导出到指定目录, 此处依然使用的是xcodebuild进行打包, 待优化

以上代码是从参考文件copy过来的,只是进行了相应的注释, 具体进行打包,需要进行适当的调整命令

© 著作权归作者所有

共有 人打赏支持
H
粉丝 14
博文 96
码字总数 25777
作品 0
南京
程序员
私信 提问
ios界面自动化工具--Appium

ios界面自动化工具--Appium Appium是一款开源的移动端自动化测试框架,支持Android和Ios,之前简单介绍过Appium,链接http://www.yeetrack.com/?p=639。最近在做ios的自动化测试,再详细记录一...

youthflies
2014/10/29
0
0
iOS逆向与安全(一):环境搭建

前言 从本篇文章开始,笔者会整理iOS逆向相关的笔记。作为一位新人,希望通过整理笔记能够更好的理解和掌握知识。作为新人能力有限,在行文时难免出现错误欢迎批评和指正。 前期准备 一台越狱...

紫电清霜Owenli
2018/09/16
0
0
xmake v1.0.3 发布,轻量级跨平台自动构建工具

简介 XMake是一个跨平台自动构建工具,支持在各种主流平台上构建项目,类似cmake、automake、premake,但是更加的方便易用,工程描述语法更简洁直观,支持平台更多,并且集创建、配置、编译、...

ruki
2015/12/02
1K
10
Genesis-3D新手入门——14.发布到iOS平台

发布到iOS平台 在游戏制作完毕后,需要进行平台打包才能最终发布。Genesis-3D是一个可以支持很多平台的编辑器,这一篇我们就来学习如何让你把制作出的游戏在iOS平台上运行。 准备步骤 1.注册...

lengche
2014/02/20
0
0
2018-11-06 "libswiftRemoteMirror.dylib"导致iOS应用提交失败

最近提交iOS Application到Test Flight的时候遇到这个奇怪的错误: 说是应用包内多了这个"libswiftRemoteMirror.dylib"的文件,打开应用程序包后,的确发现多了很多 开头的类包: 你会看到,...

雨_树
2018/11/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 白掌柜说了卖货不卖身

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @爱漫爱 :这是一场修行分享羽肿的单曲《Moony》 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :开不开心? 开心呀, 我又不爱睡懒觉…...

小小编辑
今天
7
0
大数据教程(11.7)hadoop2.9.1平台上仓库工具hive1.2.2搭建

上一篇文章介绍了hive2.3.4的搭建,然而这个版本已经不能稳定的支持mapreduce程序。本篇博主将分享hive1.2.2工具搭建全过程。先说明:本节就直接在上一节的hadoop环境中搭建了! 一、下载apa...

em_aaron
今天
2
0
开始看《JSP&Servlet学习笔记》

1:WEB应用简介。其中1.2.1对Web容器的工作流程写得不错 2:编写Servlet。搞清楚了Java的Web目录结构,以及Web.xml的一些配置作用。特别是讲了@WebServlet标签 3:请求与响应。更细致的讲了从...

max佩恩
今天
4
0
mysql分区功能详细介绍,以及实例

一,什么是数据库分区 前段时间写过一篇关于mysql分表的的文章,下面来说一下什么是数据库分区,以mysql为例。mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可...

吴伟祥
今天
3
0
SQL语句查询

1.1 排序 通过order by语句,可以将查询出的结果进行排序。放置在select语句的最后。 格式: SELECT * FROM 表名 ORDER BY 排序字段ASC|DESC; ASC 升序 (默认) DESC 降序 1.查询所有商品信息,...

stars永恒
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部