iOS库(三)库嵌套

前言

如果要对一个第三方的SDK做二次封装,并且封装为一个Framework,那这个Framework是该使用静态库呢?还是动态库?
基础的SDK可能是动态库或静态库,二次Framework可能是动态库或静态库,那么共有四种组合:

  • 静态库(基础)、静态库(二次)
  • 静态库(基础)、动态库(二次)
  • 动态库(基础)、静态库(二次)
  • 动态库(基础)、动态库(二次)

一、静态库+静态库

创建静态库First.framework,创建静态库Second.framework,并在Second.framework中引入First.framework

在TestObject工程中,使用静态库Second.framework,需要引入Second.framework而且First.framework必须在工程目录中(可以不引入工程)

使用Second.framework时,First.framework必须在工程目录中(可以不引入),否则会报错

二、静态库+动态库

创建静态库First.framework创建动态库Second.framework,并在Second.framework中引入First.framework

在TestObject工程中,使用动态库Second.framework,只需要引入Second.framework一个就可以了;

三、动态库+静态库

创建动态库First.framework创建静态库Second.framework,并在Second.framework中引入First.framework
在TestObject工程中,使用动态库Second.framework,必须同时引入Second.frameworkFirst.framework
并设置Second.frameworkEmbedDo Not Embed,设置First.frameworkEmbedEmbed & Sign;

image.png

四、动态库+动态库

创建动态库First.framework创建动态库Second.framework,并在Second.framework中引入First.framework

在TestObject工程中,使用动态库Second.framework,必须同时引入Second.frameworkFirst.framework
并把二者的Embed设置为Embed & Sign;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容