ios shell打包脚本 xcodebuild
#! /bin/bash project_path=$(dirname $) project_config=Release output_path=~/Desktop build_scheme=YKTicketsApp workspace_name=YKTicketsApp parameter=":p:c:o:s:w:h:" while getopts $parameter optname
do
case "$optname" in
"p" )
project_path=$OPTARG
;;
"c" )
project_config=$OPTARG
;;
"o" )
output_path=$OPTARG
;;
"s" )
build_scheme=$OPTARG
;;
"w" )
workspace_name=$OPTARG
;;
"h" )
echo " -p 项目路径,默认为当前路径"
echo " -c 定制版配置名称,默认为Release"
echo " -o 打包输出路径,默认为桌面"
echo " -s 打包使用策略,默认为YKTicketsApp"
echo " -w 打包workspace名,默认为YKTicketsApp"
exit
;;
* )
echo " 无效参数"
echo " -p 项目路径,默认为当前路径"
echo " -c 定制版配置名称,默认为Release"
echo " -o 打包输出路径,默认为桌面"
echo " -s 打包使用策略,默认为YKTicketsApp"
echo " -w 打包workspace名,默认为YKTicketsApp"
exit
;;
esac
done workspace_file="${project_path}/${workspace_name}.xcworkspace" date_time="$(date +"%Y%m%d_%H%M%S")" archive_file="${output_path}/${date_time}_${project_config}.xcarchive" ipa_file="${output_path}/${date_time}_${project_config}.ipa" #cd $project_path #pod_cmd='pod update --verbose --no-repo-update' #$pod_cmd #clean_cmd="xcodebuild clean"
#clean_cmd="${clean_cmd} -workspace ${workspace_file}"
#clean_cmd="${clean_cmd} -scheme ${build_scheme}"
#clean_cmd="${clean_cmd} -configuration ${project_config}" #echo ${clean_cmd} #$clean_cmd #if [ $? -ne 0 ]; then
# echo "清理项目失败,请检查工程。"
# exit
#fi #xcc='/Users/YKSE/Desktop/iPhone/ChannelConfig/HongTan/YK_HongDiTan_Enterprise.xcconfig'
#sign='iPhone Distribution: YKSE Co., Ltd.'
#pf='92d73c46-f9f5-4e7f-b37c-11f933dbe395' build_cmd="xcodebuild -workspace ${workspace_file}"
build_cmd="${build_cmd} -scheme ${build_scheme}"
build_cmd="${build_cmd} -destination generic/platform=iOS archive"
build_cmd="${build_cmd} -configuration ${project_config}"
build_cmd="${build_cmd} ONLY_ACTIVE_ARCH=NO -archivePath ${archive_file}"
#build_cmd="${build_cmd} CODE_SIGN_IDENTITY=${sign}"
#build_cmd="${build_cmd} PROVISIONING_PROFILE=${pf}" echo ${build_cmd} $build_cmd if [ $? -ne ]; then
echo "构建项目失败,请检查工程。"
exit
fi run_cmd="xcrun -sdk iphoneos"
run_cmd="${run_cmd} PackageApplication -v"
run_cmd="${run_cmd} ${archive_file}/Products/Applications/YKTicketsApp.app"
run_cmd="${run_cmd} -o ${ipa_file}" echo ${run_cmd} $run_cmd if [ $? -ne ]; then
echo "打包项目失败,请检查工程。"
exit
fi
ios shell打包脚本 xcodebuild的更多相关文章
- ios shell打包脚本 xctool
#! /bin/bash project_path=$() project_config=Release output_path=~/Desktop build_scheme=YKTicketsApp ...
- ios shell打包脚本 gym
#! /bin/bash project_path=$() project_config=Release output_path=~/Desktop build_scheme=YKTicketsApp ...
- 关于 iOS 批量打包的总结
关于 iOS 批量打包的总结 本文作者: 伯乐在线 - Tsui YuenHong .未经作者许可,禁止转载!欢迎加入伯乐在线 专栏作者. 如果你曾经试过做多 target 的项目,到了测试人员要 ...
- iOS 批量打包
如果你曾经试过做多 target 的项目,到了测试人员要测试包的时候,你就会明白什么叫“生不如死”.虽然 Xcode 打包很方便,但是当你机械重复打 N 次包的时候,就会觉得这纯粹是浪费时间的工作.所 ...
- xcode8.3 shell 自动打包脚本 记录
题记 xcode升级8.3后发现之前所用的xcode自动打包基本无法使用,因此在网上零碎找到些资料,将之前的脚本简化.此次脚本是基于xcode证书配置进行打包(之前是指定描述文件.相对繁琐).因此代码 ...
- xcode8.3 shell 自动打包脚本
题记 xcode升级8.3后发现之前所用的xcode自动打包基本无法使用,因此在网上零碎找到些资料,将之前的脚本简化.此次脚本是基于xcode证书配置进行打包(之前是指定描述文件.相对繁琐).因此代码 ...
- 40、IOS自动打包-Python脚本
第一种:基于编译的打包 编译工程--找到.app文件--新建Payload文件夹--拷贝.app到Payload文件夹--压缩成zip--更改后缀名为ipa--完成! 第二种(有问题,暂时不需要看) ...
- Unity3D研究院之IOS全自动打包生成ipa
接着上一篇文章, 自动生成framework,这篇文章我把shell自动化打包ipa整理了一下,希望大家喜欢,嘿嘿.. 建议大家先看一下上一篇文章.http://www.xuanyusong.com/ ...
- ios自动打包-fastlane 安装、使用、更新和卸载
ios自动打包使用fastlane 1.首先安装xcode 首先检查是否已经安装 Xcode 命令行工具,fastlane 使用 xcodebuild 命令进行打包,运行 xcode-select - ...
随机推荐
- 常用css3选择器
<div class="wrapper"> <p class="test1">1</p> <p class=" ...
- vue 实现 裁切图片 同时有放大、缩小、旋转功能
实现效果: 裁切指定区域内的图片 旋转图片 放大图片 输出bolb 格式数据 提供给 formData 对象 效果图 大概原理: 利用h5 FileReader 对象, 获取 <input ty ...
- flask前端上传图片/文件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- python3 flask shell
python shell来操作flask flask shell 报错: from flask_bootstrap import BootstrapImportError: No module nam ...
- VUE实现Studio管理后台(十三):按钮点选输入控件,input输入框系列
按钮点选输入,是一个非常简单的控件,20分钟就能完成的一个控件.先看效果: 根据以前的设定,通过json数据动态生成这两个按钮,示例中这两个按钮对应的json代码: { label:'标题', val ...
- Yuchuan_Linux_C 编程之十一 进程间通信
一.整体大纲 二.进程间通信概念及方法 Linux环境下,进程地址空间相互独立,每个进程各自有不同的用户地址空间.任何一个进程的全局变量在另一个进程中都看不到,所以进程和进程之间不能相互访问,要交换 ...
- 从0系统学Android--5.2 发送广播
从0系统学Android--52 发送广播 本系列文章目录:更多精品文章分类 本系列持续更新中.... 初级阶段内容参考<第一行代码> 5.3 发送自定义广播 前面已经学习了如何接受广播了 ...
- SSL/TLS 协议运行机制概述(二)
SSL/TLS 协议运行机制概述(二) 在SSL/TLS 协议运行机制概述(一)中介绍了TLS 1.2 的运行机制,现在我们来看年 TLS 1.3 的运行机制.会涉及到SSL/TLS 协议运行机制概述 ...
- C++之 ostream详细用法
前言 在 C++中,ostream表示输出流,英文”output stream“的简称.在 C++中常见的输出流对象就是标准输出流cout,很少自定义ostream的对象,更多的是直接使用cout.那 ...
- ijkplayer中遇到的问题汇总
在做音频播放的时候,很多公司使用的是开源的ijkplayer播放器,ijkplayer底层是基于ffmpeg,在某机型上面可能常常遇到各种问题.今天整理了大家在使用ijkplayer中遇到的问题,以及 ...