如何将框架添加到Swift项目中?

6
我想向我的Swift项目中添加一个库。我找到了三个不同的添加位置。
我想知道正确的做法和每个位置的目的。

常规选项卡

选择目标 -> 常规

  • 嵌入二进制文件
  • 链接框架和库

构建阶段

选择目标 -> 构建阶段

  • 嵌入框架
  • 链接二进制文件和库

新副本文件阶段

选择目标 -> 点击+按钮 -> 选择“新副本文件阶段”

  • 将目标设置为框架
  • 选择框架

问题

  1. 何时需要“嵌入二进制文件”和“链接框架和库”?何时需要进行构建阶段?
  2. 我需要多次执行这些操作来添加一个框架吗?
  3. 它们之间有什么区别?

1
简短而精练的解释:https://dev59.com/tVwY5IYBdhLWcg3wYm8B#46644892 - Vinaykrishnan
2个回答

4

1.从项目窗口左侧的项目导航器中选择项目文件。

2.在项目设置编辑器中选择要添加框架的目标。

3.选择“Build Phases”选项卡,点击“Link Binary With Libraries”旁边的小三角形以查看应用程序中的所有框架。

4.要添加框架,请单击框架列表下方的“+”。

5.若要选择多个框架,请按住command键并使用鼠标单击所需的框架。

enter image description here


谢谢,你的意思是我需要将它添加到构建阶段,而不是“链接二进制文件和库”? - Fattaneh Talebi
你在构建阶段中没有看到“链接二进制文件和库”的选项吗 :) - Wings
抱歉,我写错了。我想问的是“新复制文件阶段”。我需要添加这个吗? - Fattaneh Talebi
在这里,你可以看到一个示例:https://stackoverflow.com/questions/7539777/what-does-it-mean-add-a-copy-files-phase-to-add-a-framework-to-a-project - Wings
是的,它有帮助。谢谢你的回答。 - Fattaneh Talebi

4
“二进制”意味着已编译的代码 - 与“源代码”相对,当你用文本编写代码时,你正在处理源代码。他们本可以给你源代码并让你编译它,但他们没有这样做;他们保密了源代码,因此他们在编译后将所有内容都给了你,以便你无法阅读它。
“嵌入式”意味着在构建时通过将它们复制到其中包含在您的应用程序包中。
因此,他们向您提供一些已编译的代码(框架),并告诉您如何将它们包含在您的应用程序包中。这些框架与Cocoa的框架不同,它们不存在于设备上,因此,如果您不将其包含在应用程序中,它们将不存在,您的应用程序将无法调用它们。
与此相比,Cocoa的框架也是已编译的代码。但是它们已经存在于设备上。因此,它们不会被嵌入在您的应用程序中;它们仅被连接(如果它们出现,将出现在下一组“链接框架和库”中)。
参考:在Xcode中,什么是嵌入式二进制文件?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接