Xcode编译

624 阅读2分钟

####导语 在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编译打包方法。

@lp_马建成