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苹果官方文档翻译的更多相关文章

  1. iOS程序启动原理---iOS-Apple苹果官方文档翻译

    本系列所有开发文档翻译链接地址:iOS7开发-Apple苹果iPhone开发Xcode官方文档翻译PDF下载地址 //转载请注明出处--本文永久链接:http://www.cnblogs.com/Ch ...

  2. iOS数据存取---iOS-Apple苹果官方文档翻译

    CHENYILONG Blog iOS数据存取---iOS-Apple苹果官方文档翻译 数据存取/*技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http:// ...

  3. iOS网络基础---iOS-Apple苹果官方文档翻译

    CHENYILONG Blog iOS网络基础---iOS-Apple苹果官方文档翻译 iOS网络基础 技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http: ...

  4. iOS 静态库,动态库与 Framework

    iOS 静态库,动态库与 Framework     静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别人使用. 什么时候我们会用到库呢 ...

  5. iOS - 静态库的创建与使用

    在日常项目开发中,不论是为了两个公司项目上的业务交流还是为了减少项目的编译时间,有的时候我们会把项目中的私密内容打包成静态库,或者是把项目中变动较少一部分打包成静态库以便提高编译效率,那么下面我们就来 ...

  6. IOS静态库

    如何在Xcode中创建C++静态库 http://jingyan.baidu.com/article/03b2f78c111fca5ea237ae26.html iOS 如何创建和使用静态库 http ...

  7. iOS静态库.a文件制作和导入使用

    iOS静态库.a文件制作: 1.新建Cocoa Touch Static Library工程 新建工程 - 选择iOS-FrameWork&Libary,选择 Cocoa Touch Stat ...

  8. iOS静态库的制作与引用

    [iOS静态库的制作与引用] 1.Configuring Exported Headers To configure which headers are exported to clients, se ...

  9. 判断IOS静态库(.a文件)是否支持模拟器和真机运行

    判断IOS静态库(.a文件)是否支持模拟器和真机运行 在mac终端下,进入到.a文件目录下,然后输入: lipo -info libMyAlertView.a Architectures in the ...

随机推荐

  1. 【C++】为多态基类声明virtual析构函数

    来自<Effective C++>条款07:为多态声明virtual析构函数 当derived class对象经由一个base class指针被删除,而该base class带着一个non ...

  2. 第124天:移动web端-Bootstrap轮播图插件使用

    Bootstrap JS插件使用 > 对于Bootstrap的JS插件,我们只需要将文档实例中的代码粘到我们自己的代码中> 然后作出相应的样式调整 Bootstrap中轮播图插件叫作Car ...

  3. hdu3507 Print Article(斜率优化入门)(pascal)

    Problem Description Zero has an old printer that doesn't work well sometimes. As it is antique, he s ...

  4. 2月4日 考试——迟到的 ACX

    迟到的 ACX 时限:1s 内存限制:128MB题目描述: 今天长沙下雪了,小 ACX 在上学路上欣赏雪景,导致上学迟到,愤怒的佘总给 ACX 巨佬出了一个题目想考考他,现在他找到你,希望你能帮帮他. ...

  5. 洛谷 P3157 [CQOI2011]动态逆序对 解题报告

    P3157 [CQOI2011]动态逆序对 题目描述 对于序列\(A\),它的逆序对数定义为满足\(i<j\),且\(A_i>A_j\)的数对\((i,j)\)的个数.给\(1\)到\(n ...

  6. 洛谷 P4503 [CTSC2014]企鹅QQ 解题报告

    P4503 [CTSC2014]企鹅QQ 题目背景 PenguinQQ是中国最大.最具影响力的SNS(Social Networking Services)网站,以实名制为基础,为用户提供日志.群.即 ...

  7. bzoj3306: 树(dfs序+倍增+线段树)

    比较傻逼的一道题... 显然求子树最小值就是求出dfs序用线段树维护嘛 换根的时候树的形态不会改变,所以我们可以根据相对于根的位置分类讨论. 如果询问的x是根就直接输出整棵树的最小值. 如果询问的x是 ...

  8. CF1100E

    i207M给的题 省选前-小题解合集 给定一张有向图,每条边有边权.你可以花费边权的代价反转一条边,使得原图中没有环.最小化反转的边权的最大值. 首先二分,然后考虑判定. 转化为有些边可以翻转,有些边 ...

  9. python基础---- __getattribute__----__str__,__repr__,__format__----__doc__----__module__和__class__

    目录: 一. __getattribute__ 二.__str__,__repr__,__format__ 三.__doc__ 四.__module__和__class__ 一. __getattri ...

  10. CSK & KCF(tracking)

    转自:http://blog.csdn.net/ben_ben_niao/article/details/51364323 上次介绍了SRDCF算法,发展历史轨迹为CSK=>>KCF/DC ...