iOS 打包静态类库 lib.a
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的更多相关文章
- iOS打包静态库(完整篇)
1. 什么是库? 所谓库就是程序代码的集合,是共享程序代码的一种方式. 2. 库的分类 根据程序代码的开源情况,库可以分为两类 开源库源代码是公开的,你可以看到具体实现.比如GitHub上比较出名的第 ...
- ios打包静态库
1. 什么是库? 所谓库就是程序代码的集合,是共享程序代码的一种方式. 2. 库的分类 根据程序代码的开源情况,库可以分为两类 开源库源代码是公开的,你可以看到具体实现.比如GitHub上比较出名的第 ...
- iOS 打包静态库.a文件(真机版 + 虚拟机)
我们以打包IOS开发中封装的高地地图基础功能包 GDMap为例. 1>我们需要准备好需要打包的GDMap 2>接下来我们开始新建一个工程文件取名GDMap 3>删掉无 ...
- iOS 静态类库 打包 C,C++文件及和OC混编
iOS 静态类库 编译 C,C++ 我们都知道,OC 原生支持C, 在 创建的 OC类的 .m 里面,可以直接编写C的代码: 同样 Xcode 也支持 OC ,C++的混编,此时,我们通常把OC创建的 ...
- iOS 解压打包静态库命令
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Hannotate SC" } p.p2 { margin: 0.0px ...
- iOS 静态类库项目的建立与使用
iOS 静态类库项目的建立与使用 新建 Xcode workspace 打开 Xcode , 选择 File -> New -> Workspace , 将 Workspace 命名为 ...
- webpack配置:打包第三方类库、第三方类库抽离、watch自动打包、集中拷贝静态资源
一.打包第三方类库 下面说2种方法: 第一种: 1.引入jQuery,首先安装: npm install --save-dev jquery 2.安装好后,在index.js中引入,用jquery语法 ...
- iOS开发——打包静态库与Framework
最近老是需要做接口给别的客户,就顺便把打包的过程也写一下吧! 一.静态库 静态图里面只能是纯文件,里面不能再有第三方打包的静态库,也就是说,静态库不能打包静态库.这个用的比较多,一般自己公司写出来的东 ...
- 使用CocoaPods开发并打包静态库
Cocoapods作为OS X和iOS开发平台的类库管理工具,已经非常完善和强大.通常我们用pod来管理第三方开源类库,但我们也极有可能会开发一个用pod管理依赖关系的静态类库给其他人使用,而又不愿意 ...
随机推荐
- 2016年10月11日 星期二 --出埃及记 Exodus 18:22
2016年10月11日 星期二 --出埃及记 Exodus 18:22 Have them serve as judges for the people at all times, but have ...
- Java过滤器原理方法
过滤器可以对资源的请求和相应提供过滤功能,配置在web.xml文件中.过滤器可用来实现以下功能1. 权限过滤2. 登陆和检查验证3. 图像转换4. 数据压缩5. 加密6. 令牌验证7. 触发访问资源的 ...
- 再议extern和include的作用
先引入一下题啊,主要是看到有人这样写 我个人觉的这样写没什么意思,没有体现出了extern的特性. 为什么我要这样说,先谈谈include,总是有人觉得这个东西很神秘,很特殊不知道他干了什么.其实 ...
- CentOS7安装Docker,运行Nginx镜像、Centos镜像
摘要 总体思路:yum命令直接安装Docker,下载想要的镜像并启动 1.环境,CentOS7 Minimal 64位,Docker必须要64位的系统 2.通过yum命令直接安装,yum instal ...
- SqlSever基础 rtrim与ltrim嵌套使用 除去字符串左右两边的空格
镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...
- wamp出现could not execute run action问题
wamp出现could not execute run action问题 原文地址:http://blog.sina.com.cn/s/blog_4a60ba9c0100zzlr.html上午 ...
- 最大熵模型(Maximum Etropy)—— 熵,条件熵,联合熵,相对熵,互信息及其关系,最大熵模型。。
引入1:随机变量函数的分布 给定X的概率密度函数为fX(x), 若Y = aX, a是某正实数,求Y得概率密度函数fY(y). 解:令X的累积概率为FX(x), Y的累积概率为FY(y). 则 FY( ...
- .NET在后置代码中输入JS提示语句(背景不会变白)
来源:http://niunan.iteye.com/blog/248256 Page.ClientScript.RegisterStartupScript(Page.GetType(), " ...
- Redis核心知识之—— 时延问题分析及应对、性能问题和解决方法【★★★★★】
参考网址: Redis时延问题分析及应对:http://www.cnblogs.com/me115/p/5032177.html Redis常见的性能问题和解决方法:http://www.search ...
- http1.1和http1.0区别
http1.1和服务器建立连接可以获得多个资源 http1.0和服务器建立连接可以获取一个值