我读过很多关于静态/动态库/框架的文章。所以我的理解是(如果不准确请告诉我):
Framework = Library + Bundle
Static = Linking at build time
Dynamic = Linking at run time
Run Code Online (Sandbox Code Playgroud)
在Xcode中,我们有“静态库”和“框架”。这提出了一些令人困惑的点:
有很多概念必须明确
\n根据与可执行文件的链接方式,库分为两类
\n\nps,苹果平台特殊的一种
\n基于文本的.dylib存根 \xe2\x80\x94.tbd
框架
\nFramework 是一个包,可以包含动态库、字符串、标题、图像、storyboard 等资源。\n与 Libraries 相比,Framework 的功能更多
\n框架也有静态和动态之分
\niOS 8以后,我们可以使用动态框架,为什么苹果会发布这个。也许扩展和应用程序共享代码\n这个 iOS 动态框架被称为嵌入式框架,因为当我们构建应用程序时,将框架复制到应用程序包中。\n因此嵌入式框架与系统动态框架不同,例如UIKit.Framework
\n\n为什么没有“动态库”选项?
\n
该选项允许使用嵌入式库Framework,但也不允许在多应用程序中共享动态框架
\n\n既然我们已经可以静态链接框架,为什么我们还需要“静态库”?(不是 StaticFramework = StaticLibrary + Bundle 吗?)
\n
嗯,Xcode不仅支持Objective-c和Swift,还支持可能使用静态库的C、C++
\n| 归档时间: |
|
| 查看次数: |
990 次 |
| 最近记录: |