iOS 制作静态库时引入其他静态库
来源:互联网 发布:域名证书打印 编辑:程序博客网 时间:2024/06/07 23:50
以前在制作静态库.a的时候也有导入其他静态库,但导入的都是.a形式的静态库,没有什么问题可以将其它的.a 静态库打入自己的.a静态库,
然后直接给用户提供自己的.a就行了,关于在我的.a静态库中引用了其它的静态库,用户是并不知道的。但是依赖的系统动态库是无法打入到自
己的.a中的,需要用户导入2个静态库.a依赖的所有动态库。今天需要在.a中引入.framework形式的静态库,发现并没有办法打入到.a中,还需要用
户自己再导入一次这个.framework形式的静态库。
先说下静态库和动态库:
库(Library)其实是一段编译好的二进制代码,加上头文件就可以供其他人使用了,自己封装库有很多好处,比如:某些代码需要给别人使用,
但是我们不想让别人看到我的代码,就需要用库封装上,纸提供头文件。还有就是项目中不会进行改动的代码,封装成库的形式可以节约编译时
间管理也非常方便。静态库:可以是.a形式,也可以是.framework形式,项目每次编译都会拷贝一份到项目中,你的app二进制也会变大。基本上
我们用到的第三方SDK都是静态库,在使用的时候需要导入所有的依赖库。动态库:比如UIKit.framework和Foundation,framework都是系统动态
库,存在于iOS 系统之中(可以是.framework形式,可以是.dylib形式,也可以是.tbd形式),在你打包应用程序的时候不会拷贝到你的ipa中,当
需要使用的时候会动态从iOS系统中加载它们,所以动态库也被称为共享库。framework是静态库还是动态库需要看build settings中Mach-O文件
怎么选择,选择Static Library就是静态库,选择Dynamic Library就是动态库,framework形式的静态库不需要再额外提供.h和.bundle。但是苹果为
了安全考虑是不允许不同应用程序共享代码的,所以自己制作的动态库也还是需要拷贝到应用中(感觉失去了动态库的意义),.framework形式的
静态库=.a形式的静态库+.h+.bundle。
.a形式的静态库可以导入其他.a形式的静态库,但是不能导入.framework形式的静态库,需要用户自己从新导入。新建个.framework静态库的
工程试了下,.framework形式的静态库既不能导入.a形式的静态库,也不能导入.framework形式的静态库。都需要用户自己再次导入依赖的静态库
动态库。
- iOS 制作静态库时引入其他静态库
- 制作iOS静态库
- ios制作静态库
- ios制作静态库
- IOS静态库制作
- [iOS]制作静态库
- iOS 制作静态库
- IOS 静态库制作
- iOS静态库制作
- ios 静态库制作过程
- Xcode5制作iOS静态库
- ios 静态库制作过程
- ios 静态库制作过程
- ios 静态库制作过程
- ios 静态库制作过程
- iOS-Xcode制作静态库
- ios 制作静态库详解
- ios制作.a静态库
- BZOJ-2654 贪心 最小生成树
- LINQ基本子句
- View 的滑动原理和实现方式
- 奥威软件亮相2017软博会 领衔商业智能技术
- POJ LightOJ
- iOS 制作静态库时引入其他静态库
- PHP数据类型
- svn数据迁移git及报错
- 360脱壳-native函数还原笔记-2017-06-25
- 简易家庭安防布控
- Eclipse 导入 Maven 项目编码设置
- PHP json_encode返回的json前端获取时出现unicode转码和反斜杠\导致无法解析的解决办法
- 资费列表、拦截器
- Java Long类型时间转换踩的坑