我在我的应用中尝试使用HealthKit并且我注意到我可以import HealthKit
使用它的功能,在没有HealthKit.framework
的情况下编译和运行应用程序链接到我的应用程序"链接框架和库" (在一般目标设置中)。如果是这种情况,为什么首先需要链接到系统框架?
答案 0 :(得分:3)
Lion的答案是正确的,但不完整。
Xcode推出了名为模块的内容。模块是在Xcode 5.0中引入的,是包含/导入文件的另一种方式。
除了一些编译优化之外,它还包含一些名为自动链接的内容。
当源文件包含来自支持的框架的标头时 模块,编译器在目标文件中生成额外信息 在该框架中自动链接
Swift默认使用模块。当您使用@import
而不是#import
时,Objective-C会使用模块。
简而言之,Xcode总是使用自动链接,除非您使用#import
。
答案 1 :(得分:0)
不需要最新的sdk
或说最新的xcode。如果您可以导入框架并且可以使用它而不在Linked Frameworks and Libraries
中添加它,那么就不需要将该框架添加到Linked Frameworks and Libraries
,因为默认情况下它已经与您的项目链接。