静态库小纪

来源:互联网 发布:网络安全法特征 编辑:程序博客网 时间:2024/06/05 04:05

静态库小纪

制作.a文件

  1. 为什么要做静态库
    国内的企业掌握有核心技术,同时是又希望更多的程序员来使用其技术,因此采用”闭源”的方式开发使用,例如:百度地图,友盟,JPush等.
    在企业开发中,一些核心技术或者常用框架,处于安全性和稳定性的考虑,也会提供静态库给程序员使用.
  2. 如何制作静态库

    创建静态库小项目

    这里写图片描述Xcode展示静态库创建

    实现自己需要封装的方法

    这里写图片描述自己需要封装的方法

    添加要导出的头文件 ##

    这里写图片描述Xcode中配置

如果有图片资源, 应该先创建一个后缀为.bundle的文件夹放入图片, 并修改加载图片的方法

这里写图片描述加载图片方法

编译成静态库:注意需要编译两个版本(真机+模拟器)

这里写图片描述编译版本架构支持

关于架构认识

这里写图片描述模拟器与真机架构展示

关于合并.a的问题

这里写图片描述.a文件合并

制作framework(默认是动态的)

创建framework项目

这里写图片描述Xcode制作framework制作

默认只有一个头文件, 当有很多个类时, 应该把其他可以公开的头文件放入里面

这里写图片描述唯一头文件使用说明

实现自己需要封装的方法后, 设置需要导出的头文件

这里写图片描述Xcode配置

如果需要Debug版本导出, 可以配置下设置

这里写图片描述

编译生成动态Framework:注意需要编译两个版本(真机+模拟器)

此项与 “.a”一样流程,此处不再赘述.

关于合并framework:命令跟.a一样, 不过要找framework文件夹中的另一个文件合并. 合并后需要替换下

这里写图片描述合并真机与模拟器,切记合并后的文件名应与合并前的名字保持一致,不然运行程序会找不到此文件

这里写图片描述合并完成后的文件替换

framework默认是动态库, 需要转换静态库

Mach-O TYPE, 指编译生成后的二进制文件的结构类型。

这里写图片描述注意:此步骤进行的顺序问题.

0 0