Swift项目中链接的框架和库
我的iOS应用程序使用AVPlayer
播放声音。 要做到这一点,我不得不在类的顶部键入以下内容:
import AVFoundation
我来自Objective-C的背景,所以我去了Xcode项目的常规选项卡,并通过单击链接的框架和库下的加号button添加AVFoundation
。 黄色的工具箱出现在我的项目。 我必须这样做吗?
我试图从项目中删除它 – 从侧边栏和Xcode偏好设置,我的应用程序仍然工作,声音在播放。 那么, import
处理所有的东西吗?
是的,在Swift中import
基本上和Objective-C中的@import
(而不是#import <…>
)是一样的,导入模块 。
这个新特性(模块)是最近(1 – 2年前)推出的, 它为您导入了框架,而不需要明确地将您的应用程序链接到它 :当使用模块( @import
在ObjC中,在Swift中import
)编译器将会看到模块名称,并为你隐式地和自动地将你的应用与框架链接起来。
所以这是我们当天没有回来的一项新function,当时#import
是唯一的select,我们必须自己手动添加系统框架。
(请注意,模块只有在iOS8出现之前才可用于Apple框架,但是现在您可以在构buildiOS8时构build自己的dynamic框架,只要它们具有module.map,也可用于第三方框架)
如果您有兴趣,可以在Clang文档中阅读更多内容 。 各种博客文章也讨论了这个问题(例如Google的第一个结果就是这个博客文章 )