自动打包

比较懒,每次打包都觉得很麻烦,而且比较单调,clean,buid,copy,压缩,上传,而且还要等,所有就想着弄一个打包脚本,拖了好久了,鄙视一下自己。。。

其实就是用xcodebuild,clean,build出app文件,然后建目录,压缩,改名以及上传,脚本如下:

 1 #!/bin/sh   
 2   
 3 xcodebuild clean -configuration Distribution      #clean项目   
 4   
 5 distDir="/Users/y500/dist"  
 6 releaseDir="build/Release-iphoneos"
 7 targetName="kuaijiejiudian"
 8 ipaName='快捷管家'
 9 
10 rm -rdf "$distDir"  
11 mkdir "$distDir"  
12   
13 echo "***开始build app文件***"  
14 #可以指定证书(需要钥匙串密钥),也可在xcode中配置好再执行,
15 #xcodebuild -target "$targetName" -configuration Distribution  -sdk iphoneos build CODE_SIGN_IDENTITY="xxxxxxxxx."
16 xcodebuild -target "$targetName" -configuration Distribution  -sdk iphoneos build
17 appfile="${releaseDir}/${targetName}.app"  
18 
19 cd $releaseDir
20 
21 #也有用xcrun签名的
22 #mv "${targetName}.app" $distDir/
23 #xcrun -sdk "iphoneos" PackageApplication -v newjiudian.app -o ~/dist/xctest.ipa --sign "iPhone Distribution: xxxxxxxxx." --embed /Users/y500/Desktop/y500.mobileprovision
24 
25 
26 timeString="$1"
27 
28 if [[ "-$1" = "-" ]]; then
29     timeString=`date '+%Y%m%d'`
30 fi
31 
32 rm -rdf Payload
33 mkdir Payload
34 mv  "${targetName}.app" Payload/
35 zip -r "${ipaName}_${timeString}.zip" "Payload"
36 rm -rdf Payload 
37 mv "${ipaName}_${timeString}.zip" $distDir 2> /dev/null
38 cd $distDir
39 mv "${ipaName}_${timeString}.zip" "${ipaName}_${timeString}.ipa"
40 
41 
42 #自己在本地建的web server,方便下载测试
43 #copy to local web server
44 echo 'xxxx'|sudo -S cp -v "${ipaName}_${timeString}.ipa" "/Library/WebServer/Documents/kj/kj.ipa"
45 
46 
47 #上传到公共服务器,方便大家测试
48 #upload to http://webserver.com/upload
49 curl http://webserver.com/upload --progress-bar --verbose -F "data=@${ipaName}_${timeString}.ipa"

 

直接放在xcode的项目根目录下面,targetName改成要编译的名字,修改可执行权限就好了

有时间加上参数如路径,target,上传服务器之类的就更好了

先这样吧

posted on 2013-09-05 22:17  再问天  阅读(410)  评论(0编辑  收藏  举报