最近做ios开发,经常需要给老大打ipa包,这个虽然在xcode中编译并打包是很简单的事,不过每次都得花几分钟的时间做一些手动的放入Payload并压缩成zip包的操作。比较麻烦的是,在开发过程中,突然就说要一个可以执行的包做测试。那么,思路断了,正在写的代码要注释掉,这样持续下去浪费的时间会很多,所以还是需要写一个打包脚本。
打包具体用到的命令是这些:
具体打包流程就是编译,然后打一个发布包,一个ipa包,其实用脚本来说话就好了。另外,我用一个conf.dat来存放target和configuration,这些都在xcode里面指定好了,用xxx:xxx这样的格式来存放,xcodebuild在编译的时候会自动找到对应的配置。![]()
打包脚本如下:
#!/bin/sh basePath=`pwd` distDir="target" distDir="${basePath}/${distDir}" rm -rdf "$distDir" mkdir -p "$distDir" baseName="xxx" #.app 的名字 projectDir=$(cd ../mobile/xxx; pwd) # 进入xcode工程目录 cd $projectDir for line in $(cat ${basePath}/conf.dat) do targetName=`echo $line | cut -f1 -d':'` conf=`echo $line | cut -f2 -d':'` releaseDir="${projectDir}/build/${conf}-iphoneos" rm -rdf "$releaseDir" echo "======build ${baseName}.app start..." echo "======clean ${conf}..." xcodebuild clean -configuration "$conf" echo "======build ${targetName}" xcodebuild -target "$targetName" -configuration "$conf" -sdk iphoneos build #1> /dev/null appfile="${releaseDir}/${baseName}.app" pkgName="${targetName}_${conf}" echo "======generate distrubution zip package..." cd $releaseDir zipName="${pkgName}.zip" zip -r $zipName "${baseName}.app" mv $zipName $distDir cd $projectDir echo "======generate distrubution ipa package..." xcrun -sdk iphoneos PackageApplication -v "$appfile" -o "${distDir}/${targetName}_${conf}.ipa" --sign "iPhone Distribution:xxx" #1> /dev/null #填写签名的证书 done cd $basePath后记:下一步想看看有没有更git结合的自动打包工具,只要有人push代码,就可以自动打包,然后大佬直接把ipa直接拿下来玩就可以了。

评论
发表评论