iOS静态库 ---iOS-Apple苹果官方文档翻译
iOS静态库 ---iOS-Apple苹果官方文档翻译
•什么是库? 库是共享程序代码的方式,一般分为静态库和动态库。静态库与动态库的区别? 静态库:链接时完整地拷贝至可执行文件中,被多次使⽤用就为什么要使用静态库?
• 方便共享代码,便于合理使用。注意理解:无论是.a静态库还.framework静态库,我们需要 的都是二进制文件+.h+其它资源文件的形式,不同的是,.a本 身就是二进制文件,需要我们自己配上.h和其它文件才能使用, 而.framework本身已经包含了.h和其它文件,可以直接使用,如果一个静态库很复杂,需要暴露的.h比较多的话,就可 以在静态库的内部创建一个xx.h文件(一般这个xx.h文件的名 字和静态库的名字相同),然后把所有需要暴露出来的.h文件 都集中放在这个.h文件中,而那些原本需要暴露的.h都不需要 再暴露了,只需要把xx.h暴露出来就可以了。这样在用的时候 就方便很多了,只需要#import 就可以了, 实际上苹果本身就是这么做的,例如:!
#import !
怎么用?
方法1:把.framework或者.a拷贝到目标工程文件夹中,然后 添加到工程中(一般方在frameworks文件夹下),和使用其 他系统的库一样使用就可以了。:把framework的工程拷贝到要测试或者使用它的目标 工程中.
怎么用?
打开目标工程,在Frameworks文件夹上右键选择Add files to “xxx”,在刚刚导入的framework中把.xcodeproj文件加进来
怎么用?
怎么用?
点击target下⾯面的Build Phases->Link Binary With Libraries- >"+",选择我们framework中的.framework⽂文件,然后添加.
怎么用? 在要使用的地方加入framework的头文件(此处编译器没有自
动提示,但不是错误)
然后就可以用framework里的东西了,也可以直接改变:新建一个测试工程,添加一个开发sdk的target
怎么用?
怎么用?
图中的1对应3中的
中的
AniiiFMWK.framewor k 最重要的一步,还是把 framework工程中的 库,引入到目标工程中
怎么用?
怎么用?
在用到的类中 引入framework 中对应的头文 件,就可以用了, 修改framework 的代码仍然不 用对它编译,直 接运行目标 target就能看到 变化,依然支持 断点调试.
应用举例
iOS静态库 ---iOS-Apple苹果官方文档翻译的更多相关文章
- iOS程序启动原理---iOS-Apple苹果官方文档翻译
本系列所有开发文档翻译链接地址:iOS7开发-Apple苹果iPhone开发Xcode官方文档翻译PDF下载地址 //转载请注明出处--本文永久链接:http://www.cnblogs.com/Ch ...
- iOS数据存取---iOS-Apple苹果官方文档翻译
CHENYILONG Blog iOS数据存取---iOS-Apple苹果官方文档翻译 数据存取/*技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http:// ...
- iOS网络基础---iOS-Apple苹果官方文档翻译
CHENYILONG Blog iOS网络基础---iOS-Apple苹果官方文档翻译 iOS网络基础 技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http: ...
- iOS 静态库,动态库与 Framework
iOS 静态库,动态库与 Framework 静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别人使用. 什么时候我们会用到库呢 ...
- iOS - 静态库的创建与使用
在日常项目开发中,不论是为了两个公司项目上的业务交流还是为了减少项目的编译时间,有的时候我们会把项目中的私密内容打包成静态库,或者是把项目中变动较少一部分打包成静态库以便提高编译效率,那么下面我们就来 ...
- IOS静态库
如何在Xcode中创建C++静态库 http://jingyan.baidu.com/article/03b2f78c111fca5ea237ae26.html iOS 如何创建和使用静态库 http ...
- iOS静态库.a文件制作和导入使用
iOS静态库.a文件制作: 1.新建Cocoa Touch Static Library工程 新建工程 - 选择iOS-FrameWork&Libary,选择 Cocoa Touch Stat ...
- iOS静态库的制作与引用
[iOS静态库的制作与引用] 1.Configuring Exported Headers To configure which headers are exported to clients, se ...
- 判断IOS静态库(.a文件)是否支持模拟器和真机运行
判断IOS静态库(.a文件)是否支持模拟器和真机运行 在mac终端下,进入到.a文件目录下,然后输入: lipo -info libMyAlertView.a Architectures in the ...
随机推荐
- Java 异常注意事项
异常的注意事项: 1,子类在覆盖父类方法时,父类的方法如果抛出了异常, 那么子类的方法只能抛出父类的异常或者该异常的子类. 2,如果父类抛出多个异常,那么子类只能抛出父类异常的子集. ...
- 如何解决Unsupported Architecture. Your executable contains unsupported architecture '[x86_64, i386]
APP改版测试后准备Archive发布时,结果居然出现题目中的错误提示.查了一下,如果archive的时候没有选[iOS](http://lib.csdn.net/base/ios) Devices ...
- 解决pciss_spc导入提示表空间不存在以及扩展失败的问题
select NAME FROM USER$ ORDER BY NAME ; CREATE USER pciss IDENTIFIED BY pciss ; GRANT DBA TO pciss ; ...
- Destoon 模板存放规则 及 语法参考
模板存放规则及语法参考 一.模板存放及调用规则 模板存放于系统 template 目录,template 目录下的一个目录例如 template/default/ 即为一套模板 模板文件以 .htm ...
- [历史百科]抗战时期兵团简介 From 百度知道
中央军委1948年11月1日和1949年1月15日两次关于统一全军组织和部队番号的训令,我军先后进行了整编.西北野战军改称第一野战军,司令员兼政治委员彭德怀,第一副司令员张宗逊,第二副司令员赵寿山,参 ...
- 彻底解决Webpack打包慢的问题
转载 这几天写腾讯实习生 Mini 项目的时候用上了 React 全家桶,当然同时引入了 Webpack 作为打包工具.但是开发过程中遇到一个很棘手的问题就是,React 加上 React-Route ...
- Java知识点整理(二)
List.Set.Map典型实现 HashMap/ConcurrentHashMap Java线程池 Java线程池详解 如何更好的使用JAVA线程池 Spring MVC Spring MVC架构浅 ...
- 学习websocket-SignalR,MVC中使用SignalR打造酷炫实用的即时通讯
http://www.cnblogs.com/Leo_wl/p/4793284.html http://www.fangsi.net/archives/1144.html
- FZU2125_简单的等式
题目想到了就是一个水题. 提示一下,S(x,m)是一个很小的数.(不超过100) 这样直接枚举这个数,然后求方程的整数解,并且判断是否满足条件即可. ——————(一开始还用Pollard大整数分解+ ...
- 学习Python最好的方法就是实践和教程并行,以下有一些资源和教程,还有一些学习思维导图:
1.Python 的 14 张思维导图下载地址: https://woaielf.github.io/2017/06/13/python3-all/ 2.Python基础教程|菜鸟教程: http:/ ...