美文网首页
20期_静态库动态库进一步了解

20期_静态库动态库进一步了解

作者: 萧修 | 来源:发表于2023-10-10 01:50 被阅读0次

    user_frameswork!
    用cocoapods导入swift框架到swift项目和OC项目都必须要user_framework!

    user_framework!放于target之后,否则引入swift系统库会丢失一些方法,如UIImage的扩展方法

    target 'xxx' do
      use_frameworks!
      
      pod 'xxx', :path => '../'
    end
    

    user_frameworks!:linkage=>static
    将引入的源码组件打包成静态库,只对源码组件有效
    use_frameworks! :linkage => :dynamic 将引入的源码组件打包成动态库。只对源码组件有效
    use_frameworks!
    根据 pod 类型来决定应该打包成静态库还是动态库。

    简单了解下Mach-O,可通过xcode的build setting查询 Type,开发者制作库的时候会有几种选择

    • Executable: 静态库,输出二进制

    • Dynamic Library:动态非共享库,输出动态链接库非共享库,程序运行时链接到`内存,大部分场景下不可共享;app extension、部分macOS场景下可以共享

    • Bundle:动态非共享库,和Dynamic Library相近,不过需要手动调用函数加载

    • Static Library: 静态库,输出静态链接库,程序编译时拷贝到内存

    • Relocatable Object File:静态库,和Static Library类似,但体积更小

    相关文章

      网友评论

          本文标题:20期_静态库动态库进一步了解

          本文链接:https://www.haomeiwen.com/subject/zmmibdtx.html