IPHONE 自动编译系统

http://blog.csdn.net/zltianhen/article/details/6923007

1.从SVN获取代码

2.检测SVN有更新,再10分钟后,自动编译,如果出错发邮件通知。

3.程序某个值是SVN的版本号

4.上传到FTP的特定位置,方便其他人下载。


以上为设想。

然后一步一步实现。

HUDSON是好东西,XCODEBUILD 很方便。




开始记录HUDSON的使用 MAC的使用

1.下载hudson-2.12.war

2.打开terminal  ,命令: java -jar  hudson-2.12.war     (实际路径)

3.下面就是配置HUDSON

使用的SVN,就配置SVN的路径。然后就是SHELL脚本.


XX.sh  在terminal  中修改权限的命令 chmod +x  build.sh  (从SVN下载下来后的权限就会被改变)



11月4日上午

HUDSON可以上传到FTP,并且配置好了HUDSON的脚本。


11月4日下午

由于我安装了XCODE3 和 XCODE4两个版本,由于先安装的是XCODE3是 ,所以SDK支持 4.1,但默认不支持4.3 ,可以把SDK下面的4.3版本COPY到XCODE3下面,就可以编译了。


HUDSON从SVN的下载后,默认的路径是WORKSPACE 

所以在配置 build.sh中需要加上后面的实际的文件路径。

[cpp]  view plain copy
  1. #!/bin/sh  
  2. echo '---------start-------------------'  
  3. MYPATH=${PWD#*}  
  4. echo '----------------------------'  
  5. echo $MYPATH  
  6. echo '----------------------------'  
  7.   
  8.   
  9. XXpath="/XX/XX"  
  10. buildpath=$MYPATH$XXpath  
  11.   
  12.   
  13. cd $buildpath  
  14.   
  15. xcodebuild -sdk iphoneos4.3 -project XXX.xcodeproj   

编译这个脚本的时候,遇到了赋值的问题,赋值两侧不能空格。

这两句都可以编译的

xcodebuild -configuration Release

#xcodebuild -sdk iphoneos4.3 -project XXX.xcodeproj 


hudson的FTP插件无法上传到文件夹,因此我选择使用zip 压缩,在上传,OK,成功。在XP上受到这个安装包后,打开一开原来里面的中文名称是乱码???这个得到一个教训,能够用英语的绝对不能用中文,这次也是因为自己英语不好,所以很多SVN的文件是用中文的。


原因是MAC 用的UTF8 但是XP一般用的是GBK,因此解析会出现问题。

同事说可以用GZIP,但是实验后,还是不行。


最后想通过APP 直接打包成IPA的格式

[cpp]  view plain copy
  1. /usr/bin/xcrun -sdk iphoneos PackageApplication -v "${RELEASE_BUILDDIR}/${APPLICATION_NAME}.app" -o "${BUILD_HISTORY_DIR}/${APPLICATION_NAME}.ipa" --sign "${DEVELOPER_NAME}" --embed "${PROVISONING_PROFILE}"  

但是这个证书目前还是有问题,在sign中有问题。

终于搞定这个证书的问题了,这个证书就是keychain access 中的我的证书里面的Common Name 后面的字段。

这个编译出来后的版本就可以上传到FTP上了。但是目前的问题就是如何把IPA的文件从临时文件夹中取出来??


终于搞定如何得到IPA目标,只需要指定目录就可以了。

[cpp]  view plain copy
  1. /usr/bin/xcrun -sdk iphoneos PackageApplication -v "build/Release-iphoneos/XX.app" -o "/Users/XX/.hudson/jobs/XXX/workspace/XX/XX.ipa" --sign "iPhone Distribution: XXX" --embed "XXX.mobileprovision"  








你可能感兴趣的:(IPHONE 自动编译系统)