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="${date_time}_${project_config}.ipa"
  60.  
  61. #指定打包所使用的输出方式,目前支持app-store, package, ad-hoc, enterprise, development, 和developer-id,即xcodebuild的method参数
  62. export_method='ad-hoc'
  63.  
  64. cd $project_path
  65.  
  66. #pod_cmd='pod update --verbose --no-repo-update'
  67.  
  68. #$pod_cmd
  69.  
  70. gym_cmd="gym --workspace ${workspace_file}"
  71.  
  72. gym_cmd="${gym_cmd} --scheme ${build_scheme}"
  73.  
  74. gym_cmd="${gym_cmd} --clean"
  75.  
  76. gym_cmd="${gym_cmd} --configuration ${project_config}"
  77.  
  78. gym_cmd="${gym_cmd} --archive_path ${archive_file}"
  79.  
  80. gym_cmd="${gym_cmd} --export_method ${export_method}"
  81.  
  82. gym_cmd="${gym_cmd} --output_directory ${output_path}"
  83.  
  84. gym_cmd="${gym_cmd} --output_name ${ipa_file}"
  85.  
  86. gym_cmd="${gym_cmd} --use_legacy_build_api"
  87.  
  88. $gym_cmd
  89.  
  90. if [ $? -ne ]; then
  91. echo "打包项目失败,请检查工程。"
  92. exit
  93. fi

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

  1. ios shell打包脚本 xcodebuild

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

  2. ios shell打包脚本 xctool

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

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

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

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

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

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

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

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

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

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

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

  8. React Native开发中自动打包脚本

    React Native开发中自动打包脚本 在日常的RN开发中,我们避免不了需要将我们编写的代码编译成安装包,然后生成二维码,供需要测试的人员扫描下载.但是对于非原生的开发人员来说,可能不知如何使用X ...

  9. 使用BUCK进行iOS项目打包

    关于BUCK BUCK是Facebook开源的快速打包工具,可以用于多种语言及平台的项目打包,例如:C.C++.Java.iOS.Android等等.用于大型的iOS.Android项目,可以显著提升 ...

随机推荐

  1. 量化投资学习笔记34——《Python机器学习应用》课程笔记08

    岭回归 解决某些训练样本线性相关,导致回归结果不稳定的情况. 它是一种用于共线性数据分析的有偏估计回归方法.是一种改良的最小二乘估计法. 在sklearn中使用sklearn.linear_model ...

  2. Django进行数据迁移时,报错:(1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(6) NOT NULL)' at line 1")

    进行数据迁移时: 第一步: 命令:python manage.py makemigrations 在对应的应用里面的migrations文件夹中产生了一个0001_initial.py文件 第二步:执 ...

  3. Asp.Net Core 中IdentityServer4 授权中心之自定义授权模式

    一.前言 上一篇我分享了一篇关于 Asp.Net Core 中IdentityServer4 授权中心之应用实战 的文章,其中有不少博友给我提了问题,其中有一个博友问我的一个场景,我给他解答的还不够完 ...

  4. 最简单的???ubuntu 通过crontab定时执行一个程序

    crontab在liunx系统中下载,我默认是认为下载安装了的.. crontab貌似只能在liunx系统中存在,如果是windows系统我不知道 创建一个名为jiaoben的文件夹存储sh文件,进入 ...

  5. 用libvlc 播放指定缓冲区中的视频流

    有时候,我们需要播放别的模块传输过来的视频流,VLC提供了这样的机制,但一般很少这样用,下面的例子实现了这样的功能. 其中用到一个关键的模块 imem.  vlc提供多种创建媒体的方式,如要从指定缓存 ...

  6. LeetCode(不用加号的加法)

    题目: 设计一个函数把两个数相加,不得使用+或者其他算数运算符. 示例: 输入:a=1,b=1 输出:2 提示: a,b均有可能是负数或0 结果不会溢出32位整数 初始思路: 看到题目我就明白只能用位 ...

  7. Natas10 Writeup(正则表达式、grep命令)

    Natas10: 页面与上一关类似,只是增加了提示“出于安全原因,我们现在过滤某些字符”. 查看源码,发现关键代码如下: $key = ""; if(array_key_exist ...

  8. 读书笔记——莫提默·J.艾德勒&查尔斯·范多伦(美)《如何阅读一本书》

    第一篇 阅读的层次 第一章 阅读的活力与艺术 阅读的目标:娱乐.获得资讯.增进理解力这本书是为那些想把读书的主要目的当作是增进理解能力的人而写.何谓阅读艺术?这是一个凭借着头脑运作,除了玩味读物中的一 ...

  9. Swift 4.0 字符串(String)学习

    定义字符串常量(常量只有读操作) let lString = "constant" let lString1: String = "constant" 定义字符 ...

  10. 认识Oracle数据库系统--详细解说

    1.3 认识Oracle数据库系统 Oracle数据库是美国Oracle公司的一款关系型数据库管理系统,简称为Oracle RDBMS,是目前数据库市场上最为强大和流行的数据库系统之一.Oracle是 ...