-
静态库打包的完整正确步骤
- 确定是静态库
- .a的肯定是静态库
- .framework的需要设置链接类型:target -> Build Settings -> 搜索 Mach-O Type,改为Static Library
- 确定支持模拟器或者真机的所有架构
- Build Settings -> Build Active -> NO
- 表示不止编译活跃的架构,让所有的架构都编译
- 提供的静态库应该是release版本
- 项目 -> Edit Scheme -> Run -> Release/Debug分别进行编译
- 确定是静态库
-
.a静态库和.framework静态库的区别?
- .a是一个纯二进制文件,.framework中除了有二进制文件之外还有资源文件
- .a文件不能直接使用,至少要有.h文件的配合,.framework文件可以直接使用
- .a+.h+sourceFile = .framework
- 建议使用.framework
-
静态库开发中的常见问题
- 问题1:有些第三方库会使用到一些图片素材,例如公司的logo等。
- 由于Xcode默认在编译时会把所有的素材文件导入到mainBundle中,可能与使用静态库的程序冲突
- 解决方案:在静态库中如果要使用图片素材,会利用bundle的手段。
建立bundle,并且向其中添加图片
,创建一个类方法,返回图片
,编译
,调用方如果需要使用,需要导入.h+.a+XXX.bundle
- 问题2:如果用户需要导入的头文件过多怎么加?
- 建议使用一个主头文件包含其他头文件,让用户只导入一个主头文件
-
问题3:静态库程序怎么测试?
QQ20161204-1@2x.png
QQ20161204-2@2x.png
QQ20161204-3@2x.png
QQ20161204-4@2x.png
QQ20161204-5@2x.png
QQ20161204-6@2x.png
QQ20161204-7@2x.png
QQ20161204-8@2x.png
QQ20161204-1@2x.png
QQ20161204-2@2x.png
QQ20161204-3@2x.png
QQ20161204-1@2x.png
QQ20161204-2@2x.png
- 问题1:有些第三方库会使用到一些图片素材,例如公司的logo等。
网友评论