用命令行自动打包成.ipa文件-完全攻略
2014-07-29 19:01
211 查看
场景
在我们将工程开发完成后,需要给客户看测试版本时,就需要给你客户ipa文件,用91助手安装。如果,是直接使用xcode来做的效率是非常低下的。当有一点小改动需要重新出包时,就需要人工再次重复打包过程,这样的工作,对于我们写程序的人来说,完成可以用程序搞定。所以,我们就应该结合我们的实际工作情况,做我们自己的自动打包工具。下面,我们就来对于核心的一些步骤,出来走几步。
准备
我们需要用到xcode的一些命令,所以,我们必须先安装Command Line Tools。安装步骤如下:
1、xcode->preferences
2、选择Downloads
这里是已经安装的状态,如果你的是没有安装的,点击直接安装。
3、设置路径
安装好了之后,可能会出现如下的问题:xcrun: Error: could not stat active Xcode path '/Volumes/Xcode/Xcode44-DP7.app/Contents/Developer'. (No such file or directory)
这个问题的出现,是因为命令行没有找到xcode的路径,需要在终端运行如下语句:
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
ok,准备工作已经完成。
用命令行完成打包
1、用命令行找到工程文件。我这里的工程文件是paytest。
下面我们clean一下工程。
输入命令行:xcodebuild clean,结果如下。
clean succeeded,clean成功。
xcodebuild build 同上。
下面是如何打包成ipa文件。这里需要介绍下xcrun。
此工具主要用于将app文件打包成ipa格式的程序包。(主要用于已越狱手机)。 具体用法如下: 1/usr/bin/xcrun -sdk iphoneos PackageApplication –v [{TARGET}.app] -o [{TARGET}.ipa] --sign [{Iphone Distribution:xxx}] –embed [{xxx.mobileprovision}] 其中:-v 对应的是app文件的绝对相对路径 –o 对应ipa文件的路径跟文件名 –sign 对应的是 发布证书中对应的公司名或是个人名–embed 对应的是发布证书文件 注意如果对应的Distribution 配置中已经配置好了相关证书信息的话 –sign 和 –embed可以忽略
打包命令:xcrun -sdk iphoneos packageapplication -v /Users/zcl/desktop/222/paytest/build/release-iphoneos -o /Users/zcl/desktop/testpay.ipa
获得的ipa文件。
入门
自动化编译脚本在网上已经有很多了,当然好处也是显而易见,可以让我们脱离xcode ide的编译,当然对于需要编译打包多个应用优势就很明显,避免了我们人为操作可能的出错,和机械重复的枯燥。
自动化编译所需要的命令
xcodebuild
xcrun
编译app文件sample
xcodebuild -target yourapptarget -sdk iphoneos -configuration release
编译带有签名的ipa文件sample
/usr/bin/xcrun -sdk iphoneos PackageApplication yourapp.app -o youripa.ipa --sign iPhone Distribution: your info --embed your mobileprovision
合并i386 arm静态库
lipo -create yoursimlib yourarmlib -output ret.a
通过这样几条命令再加上简单的shell脚本 我们就很容易的可以定义我们自己定义脚本 用来编译静太库,bundle文件和我们的project。
小技巧
1.可能我们要取到xcodebuild编译完之后的状态来 决定我们下一步要做什么 或是做回显,我们可以有 #? 来取到上一条shell命令的执行结果 ,0 代表执行成功 非0代表执行失败 (这个非0值是不是对应着每个特定错误状态,具体还没有研究哈)
if [ $? != 0 ]
then
sp_msg "FAILED"
exit 1
fi
2.-sdk 命令对于iOS 为iphoneos ,iphonesimulator 或是 macosx 可以写成iphoneos6.0等来指定sdk版本,默认不写的话 就会匹配当前sdk的版本
当然对于现在的图书类等模板程序越来越多,简单的这几个-target参数已经无法满足我们的需要,因为我们可能需要更改程序的名称 版本 或者其他的标识符,所以我们需要用到-xcconfig这个参数来定制我们的buildsetting,在接下来的高阶讨论中我们就会对定制配置来做讨论。
最后,用手机助手安装,测试。
后记
这里只是对命令行打包做了一个简单的介绍,如果要做自动打包工具的话,那么这里已经完成了工作的核心部分了。其他的只需要配合自己的工程完成。
相关文章推荐
- 用命令行自动打包成.ipa文件-完全攻略
- Android 自动编译、打包生成apk文件 1 - 命令行方式
- jenkins+Xcode+蒲公英实现ipa自动打包发布全攻略
- Android 自动编译、打包生成apk文件 1 - 命令行方式
- Android 自动编译、打包生成apk文件 1 - 命令行方式
- jenkins+Xcode+蒲公英实现ipa自动打包发布全攻略
- Android 自动编译、打包生成apk文件 1 - 命令行方式
- Unity 全自动打包 Part2—构建IPA文件
- shell脚本从SVN下载项目并自动打包IPA和plist文件
- 打包命令行输出IPA文件
- 自动打包ipa文件,上传fir.im托管平台
- ActiveX控件cab打包、Web嵌入、自动升级攻略
- 实现对文件自动打包下载后并删除的代码
- 使用TrueCrypt的命令行功能实现自动载入加密文件到指定盘符
- android使用ant自动打包(更改java文件中的属性值,批量自动生成)
- 如何把使用命令行或者Eclipse将Java程序打包为jar文件
- 超简单U盘PE启动完全攻略(U盘上仅四个文件)
- android使用ant自动打包(更改java文件中的属性值,批量自动生成)
- java 命令行打包成 jar 文件
- squid完全攻略(二)squid 命令行选项分类