XCode自动打ipa包脚本 命令
- XCode 新建文件 选择other Shell script 放入下面命令行。
- #工程绝对路径
- #cd $
- project_path=$(pwd)
- #build文件夹路径
- build_path=${project_path}/build
- #工程配置文件路径
- project_name=$(ls | grep xcodeproj | awk -F.xcodeproj '{print $1}')
- project_infoplist_path=${project_path}/${project_name}/${project_name}-Info.plist
- #取版本号
- bundleShortVersion=$(/usr/libexec/PlistBuddy -c "print CFBundleShortVersionString" ${project_infoplist_path})
- #取build值
- bundleVersion=$(/usr/libexec/PlistBuddy -c "print CFBundleVersion" ${project_infoplist_path})
- #取bundle Identifier前缀
- bundlePrefix=$(/usr/libexec/PlistBuddy -c "print CFBundleIdentifier" `find . -name "*-Info.plist"` | awk -F$ '{print $1}')
- cd $project_path
- echo clean start ...
- #删除bulid目录
- if [ -d ${build_path} ];then
- rm -rf ${build_path}
- echo clean build_path success.
- fi
- #清理工程
- xcodebuild clean || exit
- #去掉xcode源码末尾的空格
- #find . -name "*.[hm]" | xargs sed -Ee 's/ +$//g' -i ""
- #编译工程
- xcodebuild -configuration Release -workspace ${project_path}/${project_name}.xcworkspace \
- -scheme ${project_name} \
- ONLY_ACTIVE_ARCH=NO \
- TARGETED_DEVICE_FAMILY= \
- DEPLOYMENT_LOCATION=YES CONFIGURATION_BUILD_DIR=${project_path}/build/Release-iphoneos || exit
- if [ -d ./ipa-build ];then
- rm -rf ipa-build
- fi
- #打包
- cd $build_path
- mkdir -p ipa-build/Payload
- cp -r ./Release-iphoneos/*.app ./ipa-build/Payload/
- cd ipa-build
- zip -r ${project_name}.ipa *
- echo ${build_path}/ipa-build/${project_name}.ipa
- #找到桌面路径
- cd ~/Desktop
- #echo Desktop dir
- #echo $(pwd)
- #拷贝文件
- cp -r ${build_path}/ipa-build/${project_name}.ipa $(pwd)
- #清空bulid目录
- cd ${build_path}/ipa-build
- rm -rf Payload
- if [ -d ${build_path} ];then
- rm -rf ${build_path}
- fi
保存到桌面为ipa_bulid.sh。命令行进入项目根目录
将文件拖入终端 回车执行。
执行完毕 打包ipa 自动保存到桌面 。证书须提前配好(可以不选release 模式。命令行自动选择)
此命令行仅供学习。初试牛刀,再接再厉。
打包有关知识:
http://blog.csdn.net/linfei2707/article/details/7100514
XCode自动打ipa包脚本 命令的更多相关文章
- xcode自动打ipa包脚本
http://blog.csdn.net/ccf0703/article/details/7999112 文章首发地址:http://webfrogs.github.com/IOS/2012/09/1 ...
- xcode自动打ipa包脚本 资料
http://webfrogs.me/2012/09/19/buildipa/ http://blog.csdn.net/baxiaxx/article/details/8267295 http:// ...
- ipa包使用命令上传fir.im或者蒲公英
我们的工程做了自动打包处理,但是每次打完ipa后只是放置于一个共享盘或者本地,为了方便测试,每次都要手动上传上传fir或者蒲公英,比较麻烦.所以研究了一下怎么能在打完包后直接脚本上传到上传fir或者蒲 ...
- 自动部署war包脚本
war 包所在路径为:/home/wars/ROOT.war tomcat 所在路径为: ①:/home/search-3 ②:/home/search-4 部署单个war到一个tomcat中 #!/ ...
- 了解 xcodebuild 命令 ,自动打包ipa
引用博客:http://blog.nswebfrog.com/2015/10/31/xcodebuild/ 在 iOS 开发中,如果需要把工程打包成 ipa 文件,通常的做法就是在 Xcode 里点击 ...
- hybird app 用 xcode ios打包 ipa 测试包并且安装真机测试
1.创建 ios 项目 1.用 cordova 创建一个 ios 项目 npm install -g cordova cordova create hello com.mydomain.hello H ...
- ipa包如何打包?ios打包ipa的四种方法分享
今天带来的内容是ios打包ipa的四种方法.总结一下,目前.app包转为.ipa包的方法有以下几种,下面一起来看看吧! 1.Apple推荐的方式,即实用xcode的archive功能 Xco ...
- 一键自动发布ipa(更新svn,拷贝资源,压缩资源,加密图片资源,加密数据文件,加密lua脚本,编译代码,ipa签名,上传ftp)
一键自动发布ipa(更新svn,拷贝资源,压缩资源,加密图片资源,加密数据文件,加密lua脚本,编译代码,ipa签名,上传ftp) 程序员的生活要一切自动化,更要幸福^_^. 转载请注明出处http: ...
- mac命令行对复杂ipa包重新签名
最近在做ios的自动化平台,需要通过命令行安装卸载ipa包 好了问题来,别人上传的ipa包,很可能是开发签名了只能在特定手机上安装的测试ipa包,那我们如何将其安装在我们的自动化的iphone上呢? ...
随机推荐
- linux 下部署 kafka
参考文章 http://www.cnblogs.com/sunxucool/p/4459020.html http://www.cnblogs.com/oftenlin/p/4047504.html ...
- 使用Dapper时,如何将MySqlParameters[] 变成Dapper.DynamicParameters动态对象
在开发过程中,如何替原生的参数化MySqlParameters[]换成Dpapper的参数化DynamicParameters对象正确的做法:var args = new DynamicParamet ...
- Lamp 安装(CentOS6.6, php-5.4.39, httpd-2.4.12, mysql-5.6.24)
软件版本: pcre-8.36.tar.gzapr-1.5.1.tar.gzapr-util-1.5.4.tar.gzhttpd-2.4.12.tar.bz2 mysql-5.6.24.tar.gz ...
- php数组函数
1.键值函数 array_values()返回数组元素值,组成一个新的索引数组 2.array_keys()返回数组所有键名,组成一个索引数组 3.in_array()检查数组中是否存在某个值 4.a ...
- unreal3的viewport和client
名字里带viewport/client的类不少,以及相关的类: FViewportFrame.FViewport FViewportClient/UScriptViewportClient/UGame ...
- nginx 报错 upstream timed out (110: Connection timed out)解决方案
nginx 作PHP的web接口服务器. 在线上发现时不时经常崩溃.504,导致接口访问无响应回复. 查看日志: [error] 11618#0: *324911 upstream timed out ...
- 设置IE8 多个Table只产生一个进程
//设置IE8 多个Table只产生一个进程 using Microsoft.Win32; RegistryKey key = Registry.LocalMachine; RegistryKey s ...
- 4.“写程序” 这个活动大多数情况下是个人行为。 我们听说的优秀程序员似乎都是单打独斗地完成任务。同学们在大学里也认识一些参加ACM 比赛的编程牛人, 他们写的ACM 比赛的程序是软件么? “写程序” 和 ”做软件“ 有区别么? 请采访这些学生。
ACM的题库的编程都只能算做程序,不能算软件.写程序和做软件区别还是很大的.程序是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合.为实现预期目的而进行操作的一系列语句和指令.而软件是程 ...
- 什么是领域驱动设计(Domain Driven Design)?
本文是从 What is Domain Driven Design? 这篇文章翻译而来. ”…在很多领域,专家的作用体现在他们的专业知识上而不是智力上.“ -- Don Reinertsen 领域驱动 ...
- Unix常用指令
pwd 表示获取自己当前所在位置 ls 表示查看当前文件夹中的内容 cd 进入指定目录 mkdir 文件夹1 创建一个文件夹名为文件夹1的文件夹 rmdir 文件夹2 删除一个文件夹名为文件夹2的 ...