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管理依赖关系的静态类库给其他人使用,而又不愿意 ...
随机推荐
- 【MySQL】MySQL的Sequence
Oracle的Sequence用爽了,发现MySQL没有Sequence,那么,自己写一个呗. > 最简单的实现 先建一个表存储当前值: CREATE TABLE `t_sequence` ( ...
- 如何在Ubuntu/CentOS上安装Linux内核4.0
大家好,今天我们学习一下如何从Elrepo或者源代码来安装最新的Linux内核4.0.代号为‘Hurr durr I'm a sheep’的Linux内核4.0是目前为止最新的主干内核.它是稳定版3. ...
- 【leetcode❤python】 205. Isomorphic Strings
#-*- coding: UTF-8 -*- #转换法class Solution(object): def isIsomorphic(self, s, t): "&qu ...
- Cheatsheet: 2015.02.01 ~ 02.28
Other API Best Practices: API Management Rewriting History with Git Rebase .NET Announcing Microsoft ...
- python中的类中属性元素加self.和不加self.的区别
在类中,self只能在函数中使用,表示的是实例属性,就是每个实例可以设置不值,而不相互影响.如果在类级别使用没有self的属性,是类属性,一般作为全局变量来用的.事实上:就是一个是类属性 一个是对象属 ...
- jquery动态样式操作
获取与设置样式 获取class和设置class都可以使用attr()方法来完成.例如使用attr()方法来获取p元素的class,JQuery代码如下: 1 var p_class = $(" ...
- SQL 批量删除数据表
) while(exists(select * from sysobjects where name like '表名前缀%')) begin select @name=name from sysob ...
- hdu 2141 (二分)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2141 Can you find it? Time Limit: 10000/3000 MS (Java/O ...
- hdu 1217 (Floyd变形)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1217 Arbitrage Time Limit: 2000/1000 MS (Java/Others) ...
- objc_msgSend(): Too many arguments to function call ,expected 0,have3
runtime 使用的时候,需要设置一下: Build Setting--> Apple LLVM 6.0 - Preprocessing--> Enable Strict Checkin ...