何时在 Xcode 上链接框架/库?
Posted
技术标签:
【中文标题】何时在 Xcode 上链接框架/库?【英文标题】:When to link frameworks/libraries on Xcode? 【发布时间】:2019-11-22 09:55:25 【问题描述】:正如标题所说,我们什么时候需要在 Xcode 上手动添加框架/库?
当我说手动是通过 AppTarget
-> General
-> Linked Frameworks and Libraries
-> +
或替代 AppTarget
-> Build Phases
-> Link Binary with Libraries
-> +
.
我创建了一个安装了两个 pod 的新 ios 项目,所以此时 Linked Frameworks and Libraries
/Link Binary with Libraries
上列出的唯一框架是由 cocoapods 生成的框架。
然后我在 swift 文件中添加了import AVFoundation
,存档,一切都成功了。
问题是包含链接内容的列表从未改变,项目导航器上的框架组也没有改变。所以我想知道我们什么时候应该使用它?
基于此,我假设在旧项目中从 Frameworks 组中删除所有内容是安全的,这些内容也将从列表中删除(当然离开 Pods 框架)应该没问题。我做到了,存档,导出,一切都很顺利。 这是我的假设,但我想与其他人确认。
也许这对于旧版本的 Xcode 或 ObjC 是必需的...我记得那天我在使用 ObjC 时不得不这样做
【问题讨论】:
【参考方案1】:您必须在操作系统中链接 Apple 未提供的框架和库。因为像“AVFoundation”这样的框架是操作系统提供的动态库。
如果您制作了自己的框架/库或使用其他框架/库,那么您必须将它们链接并嵌入到您的 xcode 项目中。
从 Xcode 5 开始,LLVM 和 Clang 提供了自动链接库和框架的选项。默认值是 true。 这就是为什么 Apple 系统框架(默认框架)不必显式链接到 Xcode 项目的原因。 请参阅构建设置中的 Apple Clang 语言模块中的选项。 希望对你有帮助
【讨论】:
这完全有道理,这是我从一开始的假设,但我想与其他人确认。非常感谢!以上是关于何时在 Xcode 上链接框架/库?的主要内容,如果未能解决你的问题,请参考以下文章