隐式导入特定的Swift模块

flu*_*nic 11 swift

我经常在我的Swift应用程序中使用第三方Swift框架,并且想要使用它而不必import ModuleName一遍又一遍地写入每个Swift文件.

有没有办法指定默认导入,就像在Objective-C中使用.pch文件一样?

我已经检查过Xcode构建设置和swiftc标志,但它们都没有提供此功能.

flu*_*nic 35

实际上我之前可以考虑过一个非常简单的解决方法......

只需将以下内容添加到您的应用程序项目的Objective-C桥接标题中:

@import ModuleName;
Run Code Online (Sandbox Code Playgroud)

斯威夫特也会捡到它!import ModuleName在您打算使用该模块的每个Swift文件中都不需要.

  • @MaxMacLeod是的,这只适用于app目标.对于框架,似乎没有任何功能或解决方法来实现相同的结果.但我已经习惯了:) (3认同)
  • 如果创建的目标是依赖于其他模块的 Swift 框架,则将无法工作,因为不允许桥接标头 (2认同)