IPHONE 自动编译系统

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中需要加上后面的实际的文件路径。

#!/bin/sh
echo '---------start-------------------'
MYPATH=${PWD#*}
echo '----------------------------'
echo $MYPATH
echo '----------------------------'


XXpath="/XX/XX"
buildpath=$MYPATH$XXpath


cd $buildpath

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的格式

/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目标,只需要指定目录就可以了。

/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"








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值