Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/114.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
没有“iOS框架”也可以正常工作;“链接”;对于应用程序,为什么需要它呢?_Ios_Xcode_Frameworks - Fatal编程技术网

没有“iOS框架”也可以正常工作;“链接”;对于应用程序,为什么需要它呢?

没有“iOS框架”也可以正常工作;“链接”;对于应用程序,为什么需要它呢?,ios,xcode,frameworks,Ios,Xcode,Frameworks,我正在我的应用程序中试用HealthKit,我注意到我可以导入HealthKit,使用它的功能,编译和运行应用程序,而不必在“链接框架和库”(在一般目标设置中)中将HealthKit.framework链接到我的应用程序。如果是这种情况,为什么首先需要链接到系统框架?不,没有必要使用最新的sdk或者说最新的xcode。如果您可以导入框架并使用它,而无需将其添加到链接的框架和库中,则无需将该框架添加到链接的框架和库中,因为默认情况下它已与您的项目链接。Lion的答案是正确的,但不完整 Xcode引

我正在我的应用程序中试用HealthKit,我注意到我可以
导入HealthKit
,使用它的功能,编译和运行应用程序,而不必在“链接框架和库”(在一般目标设置中)中将
HealthKit.framework
链接到我的应用程序。如果是这种情况,为什么首先需要链接到系统框架?

不,没有必要使用最新的
sdk
或者说最新的xcode。如果您可以导入框架并使用它,而无需将其添加到链接的框架和库中,则无需将该框架添加到链接的框架和库中,因为默认情况下它已与您的项目链接。

Lion的答案是正确的,但不完整

Xcode引入了一种叫做模块的东西。模块是在Xcode 5.0中引入的,是包含/导入文件的另一种方式

除了一些编译优化之外,它还包括一种叫做自动链接的功能

当源文件包含来自支持 模块,编译器在对象文件中生成额外信息 自动链接到该框架中

默认情况下,Swift使用模块。当您使用
@import
而不是
#import
时,Objective-C使用模块

因此,简而言之,除非您使用的是
#import
,否则Xcode总是使用自动链接