文档章节

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

H
 HillYoung
发布于 2015/07/29 16:30
字数 663
阅读 1907
收藏 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
粉丝 13
博文 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
09/16
0
0
Genesis-3D新手入门——14.发布到iOS平台

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

lengche
2014/02/20
0
0
【IOS视频教学】三个月学会IOS开发

一、windows系统下安装虚拟机-mac系统-视频教程-安装件全套下载:http://www.wyzc.com/forum/56212.html 二、史上最佳0基础Swift语言视频教程下载链接:http://www.wyzc.com/forum/56744.htm...

马洪伟
2014/12/25
0
0
Formik官方应用案例解析( 五)React Native

Hello React Native 在创建一个入门的Hello React Native工程时遇到一些麻烦,主要原因是Xcode版本太低。 使用create-react-native-app快速创建React Native框架 开发React相关项目,我使用的...

googlingman
08/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

区块链100讲:盘点那些常用的加密算法原理

在开发过程中,常常用到各种加密方法和算法,本文总结了几种常用加密方法的原理。 1 对称加密 原理:加密和解密数据使用同一个密钥,适合对大量数据进行加解密 安全性:关键是密钥的保存方式...

HiBlock
32分钟前
0
0
zookeeper基本常识

一、Zookeeper基础知识 1 zookeeper是一个类似hdfs的树形文件结构,zookeeper可以用来保证数据在(zk)集群之间的数据的事务性一致。2 zookeeper有watch事件,是一次性触发的,当watch监视的数...

啃不动地大坚果
37分钟前
0
0
Forrester企业级容器平台权威排行出炉,小初创Rancher缘何成为领导者?

全球著名的调研机构Forrester Research近日发布了《The Forrester New Wave: Enterprise Container Platform Software Suites, Q4 2018》报告,对企业级容器平台(ECP)市场进行全面评估,希...

RancherLabs
41分钟前
0
0
【三 异步HTTP编程】 2. 流式HTTP响应

标准响应及Content-Length头 自HTTP1.1以来,服务器为了在一个链接中处理多个HTTP请求及响应,必须随response一起返回合适的Content-Length值。 默认情况下,对于简单请求你无需返回 Conten...

Landas
今天
0
0
Java后端技术栈,到底如何深入学习?

Java,是现阶段中国互联网公司中,覆盖度最广的研发语言。有不少朋友问,如何深入学习Java后端技术栈,今天分享一个,互联网牛人整理出来的Java深入学习路线图,以及免费学习资料。 一 。性能...

别打我会飞
今天
2
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部