自动化打包
- 首先我们需要配置两个文件来帮助我们自动化打包,第一个plist文件, 第二个就是shell脚本
plist文件我们可以在使用ad-hoc打包后导出的文件中找到。
shell文件内容如下
#工程名 # workspace
project_name=doctor_admin
# xcodeproj目录
xcodeworkspacePath=./Runner.xcworkspace
#打包模式 Debug/Release
development_mode=Release
# target
#scheme名 白名单 --- 平台机制: qq <--> wechat
scheme_name=Runner
ipa_name=Runner
#plist文件所在路径--->描述文件 method (appstore adhoc)
exportOptionsPlistPath=./DevelopmentExportOptionsPlist.plist
#导出.ipa文件所在路径
exportFilePath=./output/$project_name-ipa
# xcodebuild 命令 archive build clearn ....
echo '*** 正在 清理工程 ***'
# xcodebuild \
# clean -configuration ${development_mode} -quiet || exit
echo '*** 清理完成 ***'
# 归档
echo '*** 正在 编译工程 For '${development_mode}
xcodebuild \
archive -workspace ${xcodeworkspacePath} \
-scheme ${scheme_name} \
-configuration ${development_mode} \
-archivePath autobuild/${project_name}.xcarchive -quiet || exit
echo '*** 编译完成 ***'
echo '*** 正在 打包 ***'
xcodebuild -exportArchive -archivePath autobuild/${project_name}.xcarchive \
-configuration ${development_mode} \
-exportPath ${exportFilePath} \
-exportOptionsPlist ${exportOptionsPlistPath} \
-quiet || exit
# 删除build包
if [[ -d autobuild ]]; then
rm -rf autobuild -r
fi
if [ -e $exportFilePath/$ipa_name.ipa ]; then
echo "*** .ipa文件已导出 ***"
cd ${exportFilePath}
echo "*** 开始上传.ipa文件 ***"
echo "*** .ipa文件上传成功 ***"
else
echo "*** 创建.ipa文件失败 ***"
fi
echo '*** 打包完成 ***'
在这里可能遇到的问题
- 清理的时候可能会无法删除文件 because it was not created by the build system.
- 如何查看scheme的名字
- 怎么设计在Flutter工程目录中
发布到平台
发布到fir平台
- 安装fir-cli。sudo gem install fir-cli