1. #! /bin/bash
  2.  
  3. project_path=$(dirname $)
  4.  
  5. project_config=Release
  6.  
  7. output_path=~/Desktop
  8.  
  9. build_scheme=YKTicketsApp
  10.  
  11. workspace_name=YKTicketsApp
  12.  
  13. parameter=":p:c:o:s:w:h:"
  14.  
  15. while getopts $parameter optname
  16. do
  17. case "$optname" in
  18. "p" )
  19. project_path=$OPTARG
  20. ;;
  21. "c" )
  22. project_config=$OPTARG
  23. ;;
  24. "o" )
  25. output_path=$OPTARG
  26. ;;
  27. "s" )
  28. build_scheme=$OPTARG
  29. ;;
  30. "w" )
  31. workspace_name=$OPTARG
  32. ;;
  33. "h" )
  34. echo " -p 项目路径,默认为当前路径"
  35. echo " -c 定制版配置名称,默认为Release"
  36. echo " -o 打包输出路径,默认为桌面"
  37. echo " -s 打包使用策略,默认为YKTicketsApp"
  38. echo " -w 打包workspace名,默认为YKTicketsApp"
  39. exit
  40. ;;
  41. * )
  42. echo " 无效参数"
  43. echo " -p 项目路径,默认为当前路径"
  44. echo " -c 定制版配置名称,默认为Release"
  45. echo " -o 打包输出路径,默认为桌面"
  46. echo " -s 打包使用策略,默认为YKTicketsApp"
  47. echo " -w 打包workspace名,默认为YKTicketsApp"
  48. exit
  49. ;;
  50. esac
  51. done
  52.  
  53. workspace_file="${project_path}/${workspace_name}.xcworkspace"
  54.  
  55. date_time="$(date +"%Y%m%d_%H%M%S")"
  56.  
  57. archive_file="${output_path}/${date_time}_${project_config}.xcarchive"
  58.  
  59. ipa_file="${output_path}/${date_time}_${project_config}.ipa"
  60.  
  61. #cd $project_path
  62.  
  63. #pod_cmd='pod update --verbose --no-repo-update'
  64.  
  65. #$pod_cmd
  66.  
  67. #clean_cmd="xcodebuild clean"
  68. #clean_cmd="${clean_cmd} -workspace ${workspace_file}"
  69. #clean_cmd="${clean_cmd} -scheme ${build_scheme}"
  70. #clean_cmd="${clean_cmd} -configuration ${project_config}"
  71.  
  72. #echo ${clean_cmd}
  73.  
  74. #$clean_cmd
  75.  
  76. #if [ $? -ne 0 ]; then
  77. # echo "清理项目失败,请检查工程。"
  78. # exit
  79. #fi
  80.  
  81. #xcc='/Users/YKSE/Desktop/iPhone/ChannelConfig/HongTan/YK_HongDiTan_Enterprise.xcconfig'
  82. #sign='iPhone Distribution: YKSE Co., Ltd.'
  83. #pf='92d73c46-f9f5-4e7f-b37c-11f933dbe395'
  84.  
  85. build_cmd="xcodebuild -workspace ${workspace_file}"
  86. build_cmd="${build_cmd} -scheme ${build_scheme}"
  87. build_cmd="${build_cmd} -destination generic/platform=iOS archive"
  88. build_cmd="${build_cmd} -configuration ${project_config}"
  89. build_cmd="${build_cmd} ONLY_ACTIVE_ARCH=NO -archivePath ${archive_file}"
  90. #build_cmd="${build_cmd} CODE_SIGN_IDENTITY=${sign}"
  91. #build_cmd="${build_cmd} PROVISIONING_PROFILE=${pf}"
  92.  
  93. echo ${build_cmd}
  94.  
  95. $build_cmd
  96.  
  97. if [ $? -ne ]; then
  98. echo "构建项目失败,请检查工程。"
  99. exit
  100. fi
  101.  
  102. run_cmd="xcrun -sdk iphoneos"
  103. run_cmd="${run_cmd} PackageApplication -v"
  104. run_cmd="${run_cmd} ${archive_file}/Products/Applications/YKTicketsApp.app"
  105. run_cmd="${run_cmd} -o ${ipa_file}"
  106.  
  107. echo ${run_cmd}
  108.  
  109. $run_cmd
  110.  
  111. if [ $? -ne ]; then
  112. echo "打包项目失败,请检查工程。"
  113. exit
  114. fi

ios shell打包脚本 xcodebuild的更多相关文章

  1. ios shell打包脚本 xctool

    #! /bin/bash project_path=$() project_config=Release output_path=~/Desktop build_scheme=YKTicketsApp ...

  2. ios shell打包脚本 gym

    #! /bin/bash project_path=$() project_config=Release output_path=~/Desktop build_scheme=YKTicketsApp ...

  3. 关于 iOS 批量打包的总结

      关于 iOS 批量打包的总结 本文作者: 伯乐在线 - Tsui YuenHong .未经作者许可,禁止转载!欢迎加入伯乐在线 专栏作者. 如果你曾经试过做多 target 的项目,到了测试人员要 ...

  4. iOS 批量打包

    如果你曾经试过做多 target 的项目,到了测试人员要测试包的时候,你就会明白什么叫“生不如死”.虽然 Xcode 打包很方便,但是当你机械重复打 N 次包的时候,就会觉得这纯粹是浪费时间的工作.所 ...

  5. xcode8.3 shell 自动打包脚本 记录

    题记 xcode升级8.3后发现之前所用的xcode自动打包基本无法使用,因此在网上零碎找到些资料,将之前的脚本简化.此次脚本是基于xcode证书配置进行打包(之前是指定描述文件.相对繁琐).因此代码 ...

  6. xcode8.3 shell 自动打包脚本

    题记 xcode升级8.3后发现之前所用的xcode自动打包基本无法使用,因此在网上零碎找到些资料,将之前的脚本简化.此次脚本是基于xcode证书配置进行打包(之前是指定描述文件.相对繁琐).因此代码 ...

  7. 40、IOS自动打包-Python脚本

    第一种:基于编译的打包 编译工程--找到.app文件--新建Payload文件夹--拷贝.app到Payload文件夹--压缩成zip--更改后缀名为ipa--完成! 第二种(有问题,暂时不需要看) ...

  8. Unity3D研究院之IOS全自动打包生成ipa

    接着上一篇文章, 自动生成framework,这篇文章我把shell自动化打包ipa整理了一下,希望大家喜欢,嘿嘿.. 建议大家先看一下上一篇文章.http://www.xuanyusong.com/ ...

  9. ios自动打包-fastlane 安装、使用、更新和卸载

    ios自动打包使用fastlane 1.首先安装xcode 首先检查是否已经安装 Xcode 命令行工具,fastlane 使用 xcodebuild 命令进行打包,运行 xcode-select - ...

随机推荐

  1. 超全!python的文件和目录操作总结

    文件的基本读写 path = r'C:\Users\Brady\Documents\tmp' with open(path + r'\demo.txt', 'r', encoding='utf-8') ...

  2. Roma - Facebook工具链大一统

    什么是roma roma,中文名罗马,是Facebook的rn团队的产出,是一个试验性质的javascript工具链,集编译,linter,格式化,打包,测试等等于一体.目标是成为一个处理javasc ...

  3. 简单说 通过CSS实现 文字渐变色 的两种方式

    说明 这次的重点就在于两个属性, background 属性 mask 属性 这两个属性分别是两种实现方式的关键. 解释 方式一 效果图 代码 <!DOCTYPE html> <ht ...

  4. Python - loguru日志库,高效输出控制台日志和日志记录

    一.安装loguru loguru的PyPI地址为:https://pypi.org/project/loguru/ GitHub仓库地址为:https://github.com/Delgan/log ...

  5. FreeSql 插入数据,如何返回自增值

    FreeSql是一个功能强大的 .NET ORM 功能库,支持 .NetFramework 4.0+..NetCore 2.1+.Xamarin 等支持 NetStandard 所有运行平台. 以 M ...

  6. idea创建django项目

    1.环境.版本 os:windows10 ide:idea python:2.7 django:1.11.25 其他的python.django不确定这么弄会不会有其他问题. 2.python 官网下 ...

  7. MySQL中INSERT INTO SELECT的使用

    1. 语法介绍      有三张表a.b.c,现在需要从表b和表c中分别查几个字段的值插入到表a中对应的字段.对于这种情况,可以使用如下的语句来实现: INSERT INTO db1_name (fi ...

  8. JS反爬绕过思路之--谷歌学术镜像网链接抓取

    首先,从问题出发: http://ac.scmor.com/ 在谷歌学术镜像网收集着多个谷歌镜像的链接.我们目标就是要把这些链接拿到手. F12查看源码可以发现,对应的a标签并不是我们想要的链接,而是 ...

  9. FSBPM流程引擎(002)之表单+自定义流程挂载到引擎

    本章节介绍如何将实际业务的表单和自定义流程挂载到FSBPM流程引擎上. 首先进入引擎交互界面: 点击创建:->出差申请 然后根据实际的业务输入对应的数据项即可,比如[姓名,部门,开始时间,结束时 ...

  10. Overt.GrpcTemplate.Service 模板使用教程

    阅读这篇文章需要先阅读我的另外一篇文章,目前还未发布出来,待发布中... 1. Overt.GrpcTemplate.Service .Net Core 3.1 版本 模板名称改成 Overt.Grp ...