ios – Xcode中连接选项的库有哪些?

Xcode 7开始,Xcode中有一些库/框架链接选项

转到项目选项卡中的应用程序目标

General -> Embedded Binaries
General -> Link Frameworks and Libraries
Build Phases -> Target Dependencies
Build Phases -> Link Binary with Libraries

以下是我发现的几种方法

>使用Alamofire显示嵌入式二进制选项

The Alamofire.framework is automagically added as a target dependency,linked framework and embedded framework in a copy files build phase which is all you need to build on the simulator and a device.

> Creating your first iOS Framework显示将Library.xcodeproj添加到工作空间,然后构建阶段 – >链接二进制文件与库
> Carthage Tutorial: Getting Started显示将Library.framework拖动到General – >链接框架和库.似乎一般 – >链接框架和库以及构建阶段 – > Link Binary与Libraries是一样的
> Carthage似乎区分iOS和OS X.

If you’re building for OS X: On your application targets’ “General”
settings tab,in the “Embedded Binaries” section,drag and drop each
framework you want to use from the Carthage/Build folder on disk.

If you’re building for iOS,tvOS,or watchOS: On your application
targets’ “General” settings tab,in the “Linked Frameworks and
Libraries” section,drag and drop each framework you want to use from
the Carthage/Build folder on disk.

阅读Linking to a Library or Framework,我们知道这些选项是关于将框架链接到我们的应用程序/框架.

但它们之间有什么区别?任何一个选项都可以全部捕获吗?

解决方法

对于使用carthage构建的动态框架,我通常使用此设置:

>将库链接到您要使用它的任何目标.您需要这样才能在代码中导入框架.
>仅将库嵌入包含的app目标中.这实际上会复制应用包中的框架.如果你没有嵌入它,你的应用程序将在启动时崩溃,因为你的框架无法找到.

只有app目标负责嵌入所有框架及其依赖项.这样,如果扩展程序和应用程序都使用框架,它将仅与应用程序一起分发.

对于Xcode界面:

>将框架拖入常规 – >嵌入式二进制文件将框架添加到“Link Binary With Libraries”和“Embed Frameworks”构建阶段
>将框架拖入常规 – >链接的框架和库将仅将框架添加到“Link Binary With Libraries”构建阶段.

“常规”下的视图似乎从“构建阶段”选项卡中填充,因此您可以使用其中任何一个.

希望有道理.

编辑:目标依赖项只是在构建当前目标之前需要构建的目标.因此,您的应用目标会在此处列出其扩展名,以便在您构建应用时构建扩展程序.

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...