xcodebuild命令行打包,在使用xcodebuild编译后发现有些东西有些临时性质的东西,依然存在,搜索了一些资料,找到有clean的命令;在之前打包都是生成app文件,将app打包成ipa文件需要编写一个脚本,操作起来相对麻烦,原来xcode自带将app打包成ipa的命令xcrun,于是操作就变得如此简单了,步骤如下:
理解:xcodebuild负责将程序打包成.app文件
xcrun则负责给.app(签名并)打包成.ipa文件
首先,清除build记录:
/usr/bin/xcodebuild -target targetName clean
其次,执行build:
/usr/bin/xcodebuild -target targetName
如:xcodebuild -sdk iphonesimulator6.1
最户,将app打包为ipa:
/usr/bin/xcrun -sdk iphoneos PackageApplication -v /home/xxx.app -o /home/xxx.ipa
解释:-v 后面是app文件及所在路径,-o后面则是存放的ipa文件名及预存放的位置
如:xcrun -sdk iphoneos PackageApplication -v build/Release-iphonesimulator -o /Users/mac_hy/Desktop/svn/Prometheus/ZDPrometheus/build/testGuest.ipa
方法二:
xcode工程其实是可以用命令行来build的,这样就可以用命令行编译出.app的文件,然后就可以打成ipa包。整个流程做到自动化后,就可以方便的做每日的daily build,便于产品和测试同事跟进进度,随时获得最新版本的ipa文件。
xcode工程的命令行Build命令是 xcodebuild,用 --help 可以看到一些有用的参数。常用的是用xcodebuild -configuration Release 指定用Release方式编译。
另外,将.app文件转成ipa包的方式也相当简单。具体方式是将 .app文件拷贝到一个名为 ipa/Payload的目录下,然后将ipa下的所有内容用zip打包即可:
mkdir -p ipa/Payload
cp -r ./Release-iphoneos/PRODUCT_NAME.app ./ipa/Payload/
cd ipa
zip -r $FILE_NAME *
如果要将打好的ipa包上传到服务器上面去,再加一些脚本即可,我们是放到一个再windows共享的web server目录下,于是可以用smbclient来连接windows共享和上传ipa包:
echo "put FILE_NAME.ipa" | smbclient //主机名 -U 用户名%密码