Swift - 总是需要链接到所需的框架吗?
Swift - Is linking to required framework always necessary?
很多关于框架(AVFoundation、AudioToolBox、Social、MPMediaPlayer、iAd 等)的教程都开始说必须 link 各自的框架(目标设置 -> 构建阶段 ->link 带库的二进制文件-> 添加框架)。
大多数时候,我发现单独的导入语句就足够了,而且我的应用程序在真实设备和模拟器上都能完美运行。例如,如果我想使用 MPMusicPlayer 播放音频,"import MediaPlayer" 非常适合我。
我的问题是,只要该应用程序在模拟器和设备上都能完美运行,省略此类 link 框架(并改用 import 语句)是否安全?
如果您 import
框架,则没有必要 link 框架。
很久以前,在 Swift 出现并且我们都使用 Objective-C 之前,我们必须 link 我们的应用程序的框架,并将这一行放在所有框架的顶部我们需要此框架的文件:
#import <SomeFramework/SomeFramework.h>
但随后出现了 @import
声明。现在我们只需要写:
@import SomeFramework;
编译器会自动link框架并将其导入到文件中。但是我们仍然可以手动 link 库以实现兼容性(并且因为某些库无法 @import
ed。)
Swift 的 import
语句功能与 Objective-C 的 @import
相同,因此您不需要 link 框架,因为它会自动 linked.
很多关于框架(AVFoundation、AudioToolBox、Social、MPMediaPlayer、iAd 等)的教程都开始说必须 link 各自的框架(目标设置 -> 构建阶段 ->link 带库的二进制文件-> 添加框架)。
大多数时候,我发现单独的导入语句就足够了,而且我的应用程序在真实设备和模拟器上都能完美运行。例如,如果我想使用 MPMusicPlayer 播放音频,"import MediaPlayer" 非常适合我。
我的问题是,只要该应用程序在模拟器和设备上都能完美运行,省略此类 link 框架(并改用 import 语句)是否安全?
如果您 import
框架,则没有必要 link 框架。
很久以前,在 Swift 出现并且我们都使用 Objective-C 之前,我们必须 link 我们的应用程序的框架,并将这一行放在所有框架的顶部我们需要此框架的文件:
#import <SomeFramework/SomeFramework.h>
但随后出现了 @import
声明。现在我们只需要写:
@import SomeFramework;
编译器会自动link框架并将其导入到文件中。但是我们仍然可以手动 link 库以实现兼容性(并且因为某些库无法 @import
ed。)
Swift 的 import
语句功能与 Objective-C 的 @import
相同,因此您不需要 link 框架,因为它会自动 linked.