静态库制作总结

  • 静态库打包的完整正确步骤

    • 确定是静态库
      • .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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容