Library静态库Shell脚本

#!/bin/bash

#要build的target名
target_Name="IFlyMSC" #编译模式 Release、Debug
build_model=Release #获取工程当前所在路径
project_path=$(pwd) #编译文件路径
buildPath=${project_path}/build #导出sdk地址
exportSdkPath=~/Desktop/${target_Name}-SDK/${build_model} if [ ! -d $exportSdkPath ]; then
mkdir -p $exportSdkPath;
fi #真机sdk路径
iphoneos_path=${buildPath}/${build_model}-iphoneos/lib${target_Name}.a
#模拟器sdk路径
simulator_path=${buildPath}/${build_model}-iphonesimulator/lib${target_Name}.a
#合并后sdk路径
merge_path=${exportSdkPath}/lib${target_Name}.a #build之前clean一下
xcodebuild -target ${target_Name} clean #模拟器build
xcodebuild -target ${target_Name} -configuration ${build_model} -sdk iphonesimulator ARCHS="i386 x86_64" VALID_ARCHS="i386 x86_64" #真机build
xcodebuild -target ${target_Name} -configuration ${build_model} -sdk iphoneos "ARCHS=armv7 arm64" "VALID_ARCHS=armv7 armv7s arm64" #复制头文件到目标文件夹
cp -R ${buildPath}/${build_model}-iphoneos/include/${target_Name} ${exportSdkPath} #合并模拟器和真机.a包
lipo -create ${iphoneos_path} ${simulator_path} -output ${merge_path} #压缩合并后的文件 #压缩后的文件名
package_date=`date '+%Y-%m-%d日%X'`
sdk_zip_name=lib${target_Name}_${build_model}_${package_date}.zip
#跳转到sdk的输出路径
cd ${exportSdkPath}
#压缩sdk输出路径下的所有文件
zip -r ~/Desktop/${target_Name}-SDK/${sdk_zip_name} ./* #打开合并后的sdk所在路径
open ${exportSdkPath} #删除build文件
if [ -d ${buildPath} ]; then
rm -rf ${buildPath}
fi

Framework静态库Shell脚本编译

#!/bin/bash

#要build的target名
target_Name="HTKit" #编译模式 Release、Debug
build_model=Release #获取工程当前所在路径
project_path=$(pwd) #编译文件路径
buildPath=${project_path}/build #导出sdk地址
exportSdkPath=~/Desktop/${target_Name}-SDK/${build_model} if [ ! -d $exportSdkPath ]; then
mkdir -p $exportSdkPath;
fi #真机sdk路径
iphoneos_path=${buildPath}/${build_model}-iphoneos/${target_Name}.framework/${target_Name}
#模拟器sdk路径
simulator_path=${buildPath}/${build_model}-iphonesimulator/${target_Name}.framework/${target_Name}
#合并后sdk路径
merge_path=${exportSdkPath}/${target_Name}.framework/${target_Name} #build之前clean一下
xcodebuild -target ${target_Name} clean #模拟器build
xcodebuild -target ${target_Name} -configuration ${build_model} -sdk iphonesimulator ARCHS="i386 x86_64" VALID_ARCHS="i386 x86_64" #真机build
xcodebuild -target ${target_Name} -configuration ${build_model} -sdk iphoneos "ARCHS=armv7 arm64" "VALID_ARCHS=armv7 armv7s arm64" #复制真机.framework到目标文件夹
cp -R ${buildPath}/${build_model}-iphoneos/${target_Name}.framework ${exportSdkPath} #合并模拟器和真机.a包
lipo -create ${iphoneos_path} ${simulator_path} -output ${merge_path} #删除framework下的Info.plist
rm -r -f ${exportSdkPath}/${target_Name}.framework/Info.plist #删除framework下的Modules
rm -r -f ${exportSdkPath}/${target_Name}.framework/Modules #压缩合并后的文件 #压缩后的文件名
package_date=`date '+%Y-%m-%d日%X'`
sdk_zip_name=lib${target_Name}_${build_model}_${package_date}.zip
#跳转到sdk的输出路径
cd ${exportSdkPath}
#压缩sdk输出路径下的所有文件
zip -r ~/Desktop/${target_Name}-SDK/${sdk_zip_name} ./* #打开合并后的sdk所在路径
open ${exportSdkPath} #删除build文件
if [ -d ${buildPath} ]; then
rm -rf ${buildPath}
fi

最新文章

  1. Git使用笔记
  2. 关于Java数组
  3. LinuxMint 18 编译cm13.0 笔记
  4. apache EnableMMAP指令
  5. Android Handler机制(四)---Handler源码解析
  6. 第十一篇 SQL Server代理维护计划
  7. Django1.8教程——从零开始搭建一个完整django博客(一)
  8. 【转】 Linux进程间通信
  9. 黄聪:mysql下使用update set from select
  10. 【LeetCode】198 - House Robber
  11. uva 327 Evaluating Simple C Expressions 简易C表达式计算 stl模拟
  12. 整型数组与vector对象之间的相互初始化
  13. Servlet(一)
  14. 将LibreOffice文档批量转成PDF格式
  15. 程序员从宏观、微观角度浅析JVM虚拟机!
  16. linux磁盘管理系列三:LVM的使用
  17. CSS3-1
  18. Ext 编辑 comobox编辑源只能选择一个
  19. JS性能优化 之 事件委托
  20. Docker查看关联容器的卷宗在本机的存储位置

热门文章

  1. hibernate基本配置优化
  2. 洛谷 P4196 [CQOI2006]凸多边形 (半平面交)
  3. PAT_A1048#Find Coins
  4. 剑指offer——55两个链表的第一个公共节点
  5. form表单和CSS基础
  6. shell默认参数脚本
  7. 绝对 "牛X" 的代码注释,喜欢就拿去用!
  8. C# WinfForm 控件之dev图表 ChartControl
  9. oh my zsh 如何启用插件
  10. ARM 汇编访问 CPSR / SPSR 寄存器 【 msr ,mrs 】