所需的框架与静态库

build设现代框架说, 每个应用程序都有自己的自定义框架的副本 。 既然Xcode支持iOS框架,那么框架静态库还是比较方便呢? 如果这是真的,那么为什么select静态库模板? 否则,一旦Swift支持静态库 ,我是否应该将所有我需要的自定义框架转换为静态库 ?

框架与静态和dynamic共享库具有相同的用途,即它们提供了可由应用程序调用以执行特定任务的例程库。 例如,Application Kit和Foundation框架为Cocoa类和方法提供了编程接口。 与静态链接库和其他types的dynamic共享库相比,框架提供了以下优点:

  1. 框架组相关,但分开,资源在一起。 这个分组使得安装,卸载和定位这些资源更加容易。

  2. 框架可以包含比库更多的资源types。 例如,一个框架可以包含任何相关的头文件和文档。

  3. 同一个包中可以包含多个版本的框架。 这使得可以向后兼容较旧的程序。

  4. 无论有多less进程正在使用这些资源,只有一个框架只读资源的副本在任何给定的时间都驻留在内存中。 这种资源共享减less了系统的内存占用,并有助于提高性能。

这个摘录取自这里 。

从这里摘录摘录。

框架和图书馆有什么不同?

  • 控制反转是使框架与图书馆不同的关键部分。 当我们从一个库中调用一个方法时,我们正在控制这个方法,但是在框架中,控制被反转,框架调用我们的代码。 (例如,GUI框架通过事件处理程序调用我们的代码)
  • 一个库本质上是一组函数(定义明确的操作),我们可以调用(组织成类)。 每个人都做了一些工作,然后把控制权交还给客户
  • 框架体现了一些内置更多行为的抽象devise。为了使用它,我们需要通过子类化或插入代码将我们的行为插入到框架的各个位置。 框架代码然后在这些点上调用我们的代码。
  • 框架也可以被认为是骨架,应用程序通过填充框架来定义操作的肉。 骨架仍然有代码链接的部分

dynamic框架的使用专门用于从iOS 8和更高版本,即(你不能提交与iOS 7和dynamic框架的构build)

如果你想支持iOS 7,并且可以使用静态库和objc

一个dynamic框架和一个静态库是不同的东西,一个框架是一个包含你的目录,可以包括资源,视图,类和库

静态库只是可执行代码

你也可以在自己的代码中使用静态库中的代码,在框架的情况下,他使用代码并处理它运行的方式

这个链接可以帮助你http://www.knowstack.com/framework-vs-library-cocoa-ios/