iOS14开发

iOS开发之动态库与静态库

2023-10-22  本文已影响0人  YungFan

分类

静态库

注意.a是一个纯二进制文件,而.framework中除了有二进制文件之外还有资源文件。

动态库

如何区分

  1. 查看 Build Settings —> Mach-O Type 的值。
  2. 查看 ipa 的目录结构。
  3. 通过file xxx.a/framework命令查看。

混合使用

  1. 静态库可以依赖静态库。
  2. 动态库可以依赖动态库。
  3. 动态库不能依赖静态库。原因是静态库不需要在运行时再次加载, 如果多个动态库依赖同一个静态库, 则会出现多个静态库的拷贝。

framework

Frameworks,Libraries,and Embedded Content

创建

  1. Xcode 可以直接创建 Static Library 静态库,最终生成.a文件。
  2. Xcode 也可以直接创建 Framework,创建完成后通过 Build Settings —> Mach-O Type 调整为Dynamic Library或者Static Library

dyld

优化

Xcode 15 之后可以进一步合并动静态库(mergeable libraries),根据需要设置 Build Settings —> Create Merged Binary 对应的值即可。

参考

  1. Xcode 15 优化
  2. iOS整理: 关于动态库和静态库
上一篇 下一篇

猜你喜欢

热点阅读