iOS 打包静态类库 lib.a

流程

1: xcode---新建项目---iOS-framework&Library-----Cocoa touch Static Library----Next

2:建立工程之后---Target-----build phases----

在第一栏:Target Depencies里面,添加该静态库的依赖

在第二栏:Complie Sources 里面,添加要编译的所有的 .m 文件;

在第三栏:Link binary With 里面,添加 静态库,依赖的,所有其他framework

在第四栏:Copy files 里面,添加所有 展示给别人能够看到的头文件 .h 文件,以及一些不能编译的资源文件,比如图片,bundle资源文件;

3:编译为 模拟器的  静态类库;选择一个模拟器编译;

4:编译为 真机版的 静态库;选择 iOS Device 或是一个真机设备 ,编译;

5:在 product 目录下,看到libxxx.a 右键,show in finder 即可找到对应编译的库

其中:iphoneos 目录,为编译的真机版本库,iphonesimulator 目录为模拟器下编译的版本;

6:在 终端下 使用 lipo -info + lib.a文件 ,查看 编译静态类库的 arm框架;

arm 框架对应的 iOS 设备

armv6:   iPhone, iPhone2, iPhone3G以及第一代和第二代iPod Touch

armv7:

iPhone3GS, iPhone4

iPad, iPad2, the new ipad

iPod touch 3G, iPod touch 4

armv7s: iPhone5,5c

arm64: iPhone5s

其中上图:i386 x8664 指的是 mac 电脑模拟器;

7:使用 lipo -create 命令,把 真机版本和模拟器版本 合并成一个 libxxx.a

lipo -create path/simulator.a path/device.a -output path/libxxx.a

例如:

lipo -create Release-iphonesimulator/libOpenStack.a Release-iphoneos/libOpenStack.a -output libOpenStack.a

最后生成的 libOpenStack.a就是最后,真机版和模拟器版合并的版本;

iOS 打包静态类库 lib.a的更多相关文章

  1. iOS打包静态库(完整篇)

    1. 什么是库? 所谓库就是程序代码的集合,是共享程序代码的一种方式. 2. 库的分类 根据程序代码的开源情况,库可以分为两类 开源库源代码是公开的,你可以看到具体实现.比如GitHub上比较出名的第 ...

  2. ios打包静态库

    1. 什么是库? 所谓库就是程序代码的集合,是共享程序代码的一种方式. 2. 库的分类 根据程序代码的开源情况,库可以分为两类 开源库源代码是公开的,你可以看到具体实现.比如GitHub上比较出名的第 ...

  3. iOS 打包静态库.a文件(真机版 + 虚拟机)

    我们以打包IOS开发中封装的高地地图基础功能包 GDMap为例. 1>我们需要准备好需要打包的GDMap     2>接下来我们开始新建一个工程文件取名GDMap     3>删掉无 ...

  4. iOS 静态类库 打包 C,C++文件及和OC混编

    iOS 静态类库 编译 C,C++ 我们都知道,OC 原生支持C, 在 创建的 OC类的 .m 里面,可以直接编写C的代码: 同样 Xcode 也支持 OC ,C++的混编,此时,我们通常把OC创建的 ...

  5. iOS 解压打包静态库命令

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Hannotate SC" } p.p2 { margin: 0.0px ...

  6. iOS 静态类库项目的建立与使用

    iOS 静态类库项目的建立与使用   新建 Xcode workspace 打开 Xcode , 选择 File -> New -> Workspace , 将 Workspace 命名为 ...

  7. webpack配置:打包第三方类库、第三方类库抽离、watch自动打包、集中拷贝静态资源

    一.打包第三方类库 下面说2种方法: 第一种: 1.引入jQuery,首先安装: npm install --save-dev jquery 2.安装好后,在index.js中引入,用jquery语法 ...

  8. iOS开发——打包静态库与Framework

    最近老是需要做接口给别的客户,就顺便把打包的过程也写一下吧! 一.静态库 静态图里面只能是纯文件,里面不能再有第三方打包的静态库,也就是说,静态库不能打包静态库.这个用的比较多,一般自己公司写出来的东 ...

  9. 使用CocoaPods开发并打包静态库

    Cocoapods作为OS X和iOS开发平台的类库管理工具,已经非常完善和强大.通常我们用pod来管理第三方开源类库,但我们也极有可能会开发一个用pod管理依赖关系的静态类库给其他人使用,而又不愿意 ...

随机推荐

  1. 如何把drawing图像转换成wpf控件的source

    此例以canvas为例 <Canvas>  <Image Stretch="Fill" Width="100" Height="10 ...

  2. python学习笔记六 初识面向对象上(基础篇)

    python面向对象   面向对象编程(Object-Oriented Programming )介绍   对于编程语言的初学者来讲,OOP不是一个很容易理解的编程方式,虽然大家都知道OOP的三大特性 ...

  3. 获取某个数据所在数据列表中的行数 mysql

    select * from (select @rownum := @rownum+1 as rownum,goods_idfrom table_goods, (select @rownum:=0) t ...

  4. SQl格式化日期时间

    Sql Server 中一个非常强大的日期格式化函数Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSelect CONVE ...

  5. CodeForces 146A Lucky Ticket

    Lucky Ticket Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submi ...

  6. ASP.NET API盘点

    1.控制只返回JSON一种数据 public class JsonContentNegotiator : IContentNegotiator { private readonly JsonMedia ...

  7. jQuery函数attr()和prop()的区别,val()

    [自己总结,详情见下面转录的文章]: attr()用于操作html属性,prop()属性用于操作DOM属性 ①: 很多情况下可以互用 ②:attr()独自适用的情况,自定义的html属性,html属性 ...

  8. [HDOJ5763]Another Meaning(KMP, DP)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5763 题意:给定两个字符串a和b,其中a中的字符串如果含有子串b,那么那部分可以被替换成*.问有多少种 ...

  9. 【转】基于APD的光电探测器电路研究与设计

    光电探测器电路用于对光电转换器件输出的微弱电压或电流信号进行放大.处理和整形输出.对于不同探测用途而采用的光电转换器件不同,与之配合使用的光电探测器电路性能也因此而不同.如果用来进行光电转换,则重点考 ...

  10. 读取视屏文件,保存帧图片为ppm文件

    ffmpeg跟sdl的学习过程:一.版本信息:ffmpeg-3.0.2.tar.bz2SDL2-2.0.4.tar.gz二.编译过程:1.ffmgeg的编译:./configure --enable- ...