从Xcode 7开始,Xcode中有一些库/框架链接选项
转到项目标签
中的应用Target
General -> Embedded Binaries
General -> Link Frameworks and Libraries
Build Phases -> Target Dependencies
Build Phases -> Link Binary with Libraries
以下是我找到的一些方法
Embedded Binaries
选项Alamofire.framework作为目标依赖项,链接框架和嵌入式框架自动添加到复制文件构建阶段,这是构建模拟器和设备所需的全部内容。
Creating your first iOS Framework显示将Library.xcodeproj
添加到工作区,然后Build Phases -> Link Binary with Libraries
Carthage Tutorial: Getting Started显示将Library.framework
拖入General -> Link Frameworks and Libraries
。似乎General -> Link Frameworks and Libraries
和Build Phases -> Link Binary with Libraries
相同
Carthage似乎可以区分iOS和OS X.
如果您正在为OS X构建:在您的应用程序目标上“常规” 设置选项卡,在“嵌入式二进制文件”部分中,拖放每个 您想要从磁盘上的Carthage / Build文件夹中使用的框架。
如果您正在为iOS,tvOS或watchOS构建:在您的应用程序上 目标的“常规”设置标签,在“链接的框架和 库“部分,拖放您想要使用的每个框架 磁盘上的Carthage / Build文件夹。
阅读Linking to a Library or Framework,我们知道这些选项是关于将框架链接到我们的应用程序/框架中。
但它们之间有什么区别?对于所有选项,任何一个选项都是catch all
吗?
答案 0 :(得分:17)
对于使用carthage构建的动态框架,我通常使用此设置:
只有app目标负责嵌入所有框架及其依赖项。这样,如果扩展程序和应用程序都使用框架,它将仅与应用程序一起分发。
对于Xcode界面:
“常规”下的视图似乎从“构建阶段”选项卡中填充,因此您可以使用其中任何一个。
希望这是有道理的。
编辑:目标依赖项只是在构建当前目标之前需要构建的目标。因此,您的应用目标会在此处列出其扩展名,以便在您构建应用时构建扩展程序。