Swift “与”的区别是什么;进口;框架和;“链接”;有框架吗?

Swift “与”的区别是什么;进口;框架和;“链接”;有框架吗?,swift,import,frameworks,xcode6,core-location,Swift,Import,Frameworks,Xcode6,Core Location,我是Xcode和Swift语言的新手。我试图了解ViewController中“导入”和项目中“框架导入”的用法。 示例:如果我使用CoreLocation,我只需要在我的ViewController中导入CoreLocation,或者我也需要在我的项目中导入CoreLocation.framework? 我之所以这么说,是因为只有在ViewController顶部使用import CoreLocation,而不导入其框架,一切都可以正常工作 谢谢 源代码中的import有助于编译代码,确保找到

我是Xcode和Swift语言的新手。我试图了解ViewController中“导入”和项目中“框架导入”的用法。 示例:如果我使用CoreLocation,我只需要在我的ViewController中导入CoreLocation,或者我也需要在我的项目中导入CoreLocation.framework? 我之所以这么说,是因为只有在ViewController顶部使用import CoreLocation,而不导入其框架,一切都可以正常工作


谢谢

源代码中的
import
有助于编译代码,确保找到正确的标题。“项目设置”中“构建阶段”的“将二进制文件链接到库”部分(现在还包括在“链接的库和框架”下的“摘要”选项卡上)指定将与目标代码链接的框架和库


历史上,我们总是需要分别指定这两个,但现在有一个项目设置“自动链接框架”,如果启用,将在源代码中导入框架时自动将框架链接到项目。您还必须启用“启用模块”。

因此,如果启用了“自动链接框架”,我只需在源代码中添加导入,而不添加框架。是的,对于框架。对于库(例如libsqlite3.0.dylib等),您仍然需要手动添加这些库,但是对于框架,它应该自动添加它们。注意,您需要同时启用“自动链接框架”和“启用模块”才能使其工作。是的,它们都已启用。例如:在我的应用程序中,我使用MapKit和CoreLocation。在此之前,我在“能力”部分设置了地图。现在没有手动链接框架,我将其设置为关闭。这正常吗?要使用地图,我相信您确实需要打开“地图”功能。但您不需要手动将CoreLocation添加到链接框架列表中。只要有
import CoreLocation
就足够了(不过,要请求授权以确定用户的位置,您确实需要在plist中添加适当的授权请求密钥)。权利和plist设置完全是另一回事。“自动链接框架”所做的一切都是避免您必须手动链接到各种框架,而不仅仅是导入它,您应该会做得很好。