使用xcodebuild 命令进行打包
首先看看命令到底有哪些
打开终端 输入 man xcodebuild
看不懂的谷歌翻译一下(程序员基本技能)
注意:以下示例shell脚本代码中的变量都需要自定义并赋值!
【清理build工作目录】在进入项目根目录后执行:
clean -configuration ${development_mode} || exit
【打包】在进入项目根目录后执行:
xcodebuild \
archive -workspace ${project_path}/${project_name}.xcworkspace \
-scheme ${scheme_name} \
-configuration ${development_mode} \
-archivePath ${build_path}/${project_name}.xcarchive || exit
archive
指明操作是打包;
-workspace
指明需要打包的是一个workspace而不是project,
如果是打包project,这里的路径和问价明就更改为对应的project即可;
-scheme
一般和项目同名;
-configuration
指明打包模式是Debug还是Release;
-archivePath
指明打包操作的路径;
|| exit 指明如果这一条命令执行失败,则退出当前shell;
【导出安装包】在项目根目录执行:
xcodebuild -exportArchive -archivePath ${build_path}/${project_name}.xcarchive \
-configuration ${development_mode} \
-exportPath ${exportFilePath} \
-exportOptionsPlist ${exportOptionsPlistPath} || exit
有一些配置项和上面的 xcodebuild archive 是相同的,所以需要两个命令的参数匹配
-exportPath
指明.ipa文件到处的路径;
-exportOptionsPlist
指明 exportOptions.plist 文件的位置,这个文件是-exportArchive
必需的参数;
实测exportOptions.plist文件里可以什么都不配置,
只要Xcode的project或者workspace里设置好了对应参数就好!
如果通过Xcode打开这个exportOptions.plist文件,你也可以为其配置以下内容(资料来源):(不过我并没有任何配置也完成了ipa打包)
method: (String) The method of distribution, which can be set as any of the following:
app-store
enterprise
ad-hoc
development
teamID: (String) The development program team identifier.
uploadSymbols: (Boolean) Option to include symbols in the generated ipa file.
uploadBitcode: (Boolean) Option to include Bitcode.
觉得还不懂的可以看一下我的完整打包命令:
DATE=`date +%Y%m%d_%H%M`
#工程绝对路径
project_path=$(pwd)
#工程名
project_name=CRMForThinvent
#打包模式 Debug/Release
development_mode=Debug
#scheme名
scheme_name=CRMForThinvent
#build文件夹路径
build_path=${project_path}/build
#plist文件所在路径
exportOptionsPlistPath=${project_path}/exportOptions.plist
#导出.ipa文件所在路径
exportFilePath=${project_path}/ipa/${development_mode}${DATE}
echo '*** 正在 清理工程 ***'
xcodebuild \
clean -configuration ${development_mode} -quiet || exit
echo '*** 清理完成 ***'
echo '*** 正在 编译工程 For '${development_mode}
xcodebuild \
archive -workspace ${project_path}/${project_name}.xcworkspace \
-scheme ${scheme_name} \
-configuration ${development_mode} \
-archivePath ${build_path}/${project_name}.xcarchive -quiet || exit
echo '*** 编译完成 ***'
echo '*** 正在 打包 ***'
xcodebuild -exportArchive -archivePath ${build_path}/${project_name}.xcarchive \
-configuration ${development_mode} \
-exportPath ${exportFilePath} \
-exportOptionsPlist ${exportOptionsPlistPath} \
-quiet || exit
if [ -e $exportFilePath/$scheme_name.ipa ]; then
echo "*** .ipa文件已导出 ***"
open $exportFilePath
else
echo "*** 创建.ipa文件失败 ***"
fi
echo '*** 打包完成 ***'
我只是搬运工,原文链接:http://www.cnblogs.com/ficow/p/6823962.html