我需要使用Swift创建一个静态库,并且我需要知道如何实现该库的接口。
在Objective-C中,我可以在 构建阶段 将所需的标头标记为public ,但是Swift中没有任何标头和接口。
我应该对Swift做些什么?
简而言之:您没有。
Swift不是一种将标头和实现分开的语言。当您创建基于Swift的库或框架并且仅供Swift使用时,Xcode的默认构建设置DEFINES_MODULE已经为您完成了工作。这将创建一个.swiftmodule文件,该文件将import在其他Swift项目中使用。
DEFINES_MODULE
.swiftmodule
import
但是,如果您希望代码可以从Objective- C导入,则可能要检查是否SWIFT_INSTALL_OBJC_HEADER还启用了构建设置(据我所知,默认情况下,框架设置是启用的)。然后,Swift编译器将为您生成一个<ProductName>-Swift.h文件,您可以将其导入Objective- C代码中以访问您的Swift类和函数。
SWIFT_INSTALL_OBJC_HEADER
<ProductName>-Swift.h