本文旨在说明静态库制作中的一些常见问题和特殊处理
1. 打包静态库需要的相关问题和设置
- 静态库中用到分类的需要在项目中设置这个参数:Other Linker Flags为-ObjC或者-all_load
- 静态库中用到了NSClassFromString或者runtime的objc_getClass,但是转换出来的Class 一直为nil。解决方法:在主工程的Other Linker Flags需要添加参数-ObjC即可。
- 如果Xcode找不到框架的头文件,可能是忘记将它们声明为public了
- Base SDK指的是当前编译所用的SDK 版本,一般默认为当前xocde的最新版
- Build Active Architecture Only设置成No
- Deployment Target它控制着运行应用需要的最低操作系统版本
- Skip Install设置为Yes
- Mach-O Type静态库设置为Static Library,动态库设置为Dynamic Library,制作bundle文件设置为Bundle
- 静态库中最好不要用xib,要用的话就将xib放到bundle文件中编译,然后xib就会变成.nib的文件
- 如果开发的静态库里面有C或者C++,在使用的时候需要添加libc++.tbd或者libstdc++.tbd
- **关于C语言中Implicit declaration of function ‘XXXX’ is invalid in C99警告:**C语言是过程化的编程语言,程序执行顺序是从上到下。如果在调用某函数的时候,函数在调用之前没有定义也没有声明,而是在调用之后定义,那么编译时Implicit declaration of function

最低0.47元/天 解锁文章
1678

被折叠的 条评论
为什么被折叠?



