xcode8.3.2 shell 命令打包

使用xcodebuild 命令进行打包

首先看看命令到底有哪些
打开终端 输入 man xcodebuild

xcode8.3.2 shell 命令打包_第1张图片
image.png

看不懂的谷歌翻译一下(程序员基本技能)

注意:以下示例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

你可能感兴趣的:(xcode8.3.2 shell 命令打包)