####导语 在xcode IDE中,可以很简单的通过*清理/编译/运行**(clean/build/run)*来做项目的编译运行等,在自动化打包/测试中,这些工作可以通过写一些shell来完成,主要角色就是xcodebuild/xcrun。
开之前注意下:测试项目相关参数
项目根目录:./youxin/
projectname:yxios.xcodeproj
targetname:yxios
####一、编译项目前,先clean下 #####1.1 xcodebuild clean 打开终端,cd到项目目录
xcodebuild clean
builtin-rm -rf /Users/mac/Desktop/pro/git/Youxin/build/Release-iphoneos/yxios.app.dSYM
** CLEAN SUCCEEDED **
ok,项目以前的清理完毕 ####二、项目编译 #####2.1 编译以project项目(非workspace) **请确保您的项目是无编译错误,方可。
xcodebuild -target yxios Release
builtin-validationUtility /Users/mac/Desktop/pro/git/Youxin/build/Release-iphoneos/yxios.app
** BUILD SUCCEEDED **
**注意这种缺省参数编译需要你在工程中配置好Provisioning profile/Code sign
当然也可以通过xcodebuild的参数来配置
xcodebuild -configuration Release -arch arm64 -arch armv7 CODE_SIGN_IDENTITY="iPhone Developer: ma jiancheng (ZEPT73P3xx)"
"iPhone Developer: ma jiancheng (ZEPT73P3xx)
请务必在钥匙串中拷贝来吧,多个空格也是错...
export PRODUCT_TYPE=com.apple.product-type.application builtin-validationUtility /Users/mac/Desktop/pro/git/Youxin/build/Release-iphoneos/yxios.app
** BUILD SUCCEEDED **
看输出日志,在工程目录下生成/build/Release-iphoneos/yxios.app,后面的主角也是这个yxios.app ####三、生成.ipa 这里有两种方式,一种是xcrun,另一种是zip,异曲同工吧。 #####3.1 zip生成.ipa cd到.app目录 具体是这样
mkdir -p ipa/Payload
cp -r yxios.app ./ipa/Payload
cd ./ipa
zip -r 随便起个名字.ipa *
上述的方法也就构建ipa目录结构,把.app目录资源压缩,形成.ipa压缩程序 可以把.app拖动到itunes,然后解压看看目录结构。
#####3.2 xcrun生成.ipa xcrun -sdk iphoneos PackageApplication -v /Users/mac/Desktop/pro/git/Youxin/build/Release-iphoneos/yxios.app -o /Users/mac/Desktop/pro/git/Youxin/build/Release-iphoneos/随便起个名字.ipa
mjc:youxin mac$ ls /Users/mac/Desktop/pro/git/Youxin/build/Release-iphoneos/iOStt.ipa /Users/mac/Desktop/pro/git/Youxin/build/Release-iphoneos/iOStt.ipa
ok,收工,将ipa放到itunes测试一下,若没有问题可以上传到测试平台供测试使用了。
####小记 最近身体不太舒服,一思考问题就晕,回头整理成bash以及workspace shell编译打包方法。