美文网首页
Framework 详解

Framework 详解

作者: iVikings | 来源:发表于2021-06-25 11:17 被阅读0次

    静态库:

    即静态链接库。以 .a 或者 .framework 为文件后缀名。
    在程序编译时会被链接到二进制可执行文件中。

    动态库:

    即动态链接库。以 .tbd(之前叫.dylib) 或者 .framework为文件后缀名。
    在程序编译时并不会被链接到二进制可执行文件中,而是在程序运行是才被载入。

    系统的 .framework 是动态库,我们自己创建的 .framework 一般是静态库。

    区别:

    • 静态库代码装载的速度快,执行速度略比动态库快。
    • 动态库更加节省内存,可执行文件体积比静态库小很多。
    • 静态库是在编译时加载,动态库是在运行时加载。

    区分 Framework 是 动态库 or 静态库

    file *.framework/*
    
    • Mach-O dynamically动态库
    • current ar archive静态库

    Framework, Libraries, and Embedded Content

    Xcode 中集成 Framework 有三种状态:Do Not EmbedEmbed & SignEmbed Without Signing

    • Embed

    嵌入,用于动态库,动态库在运行时链接,所以它们需要被打进bundle里面

    • *Signing:

    只用于动态库,如果已经有签名了就不需要再签名。

    • 判断动态库是否已签名
    codesign -dv *.framwork
    
    • code object is not signed at alladhoc:表示未签名,选择 Embed & Sign
    • 其他情况表示已经签名,选择 Embed Without Signing

    相关文章

      网友评论

          本文标题:Framework 详解

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