自动化打包

  1. 首先我们需要配置两个文件来帮助我们自动化打包,第一个plist文件, 第二个就是shell脚本

plist文件我们可以在使用ad-hoc打包后导出的文件中找到。
image.png
shell文件内容如下

  1. #工程名 # workspace
  2. project_name=doctor_admin
  3. # xcodeproj目录
  4. xcodeworkspacePath=./Runner.xcworkspace
  5. #打包模式 Debug/Release
  6. development_mode=Release
  7. # target
  8. #scheme名 白名单 --- 平台机制: qq <--> wechat
  9. scheme_name=Runner
  10. ipa_name=Runner
  11. #plist文件所在路径--->描述文件 method (appstore adhoc)
  12. exportOptionsPlistPath=./DevelopmentExportOptionsPlist.plist
  13. #导出.ipa文件所在路径
  14. exportFilePath=./output/$project_name-ipa
  15. # xcodebuild 命令 archive build clearn ....
  16. echo '*** 正在 清理工程 ***'
  17. # xcodebuild \
  18. # clean -configuration ${development_mode} -quiet || exit
  19. echo '*** 清理完成 ***'
  20. # 归档
  21. echo '*** 正在 编译工程 For '${development_mode}
  22. xcodebuild \
  23. archive -workspace ${xcodeworkspacePath} \
  24. -scheme ${scheme_name} \
  25. -configuration ${development_mode} \
  26. -archivePath autobuild/${project_name}.xcarchive -quiet || exit
  27. echo '*** 编译完成 ***'
  28. echo '*** 正在 打包 ***'
  29. xcodebuild -exportArchive -archivePath autobuild/${project_name}.xcarchive \
  30. -configuration ${development_mode} \
  31. -exportPath ${exportFilePath} \
  32. -exportOptionsPlist ${exportOptionsPlistPath} \
  33. -quiet || exit
  34. # 删除build包
  35. if [[ -d autobuild ]]; then
  36. rm -rf autobuild -r
  37. fi
  38. if [ -e $exportFilePath/$ipa_name.ipa ]; then
  39. echo "*** .ipa文件已导出 ***"
  40. cd ${exportFilePath}
  41. echo "*** 开始上传.ipa文件 ***"
  42. echo "*** .ipa文件上传成功 ***"
  43. else
  44. echo "*** 创建.ipa文件失败 ***"
  45. fi
  46. echo '*** 打包完成 ***'

在这里可能遇到的问题

  • 清理的时候可能会无法删除文件 because it was not created by the build system.
  • 如何查看scheme的名字
  1. 怎么设计在Flutter工程目录中

发布到平台

发布到fir平台

  1. 安装fir-cli。sudo gem install fir-cli