一尘不染

Swift:如何为静态库创建外部接口(Objective-C .h中的公共标头模拟)

swift

我需要使用Swift创建一个静态库,并且我需要知道如何实现该库的接口。

在Objective-C中,我可以在 构建阶段 将所需的标头标记为public ,但是Swift中没有任何标头和接口。

我应该对Swift做些什么?


阅读 327

收藏
2020-07-07

共1个答案

一尘不染

简而言之:您没有。

Swift不是一种将标头和实现分开的语言。当您创建基于Swift的库或框架并且仅供Swift使用时,Xcode的默认构建设置DEFINES_MODULE已经为您完成了工作。这将创建一个.swiftmodule文件,该文件将import在其他Swift项目中使用。

但是,如果您希望代码可以从Objective-
C导入,则可能要检查是否SWIFT_INSTALL_OBJC_HEADER还启用了构建设置(据我所知,默认情况下,框架设置是启用的)。然后,Swift编译器将为您生成一个<ProductName>-Swift.h文件,您可以将其导入Objective-
C代码中以访问您的Swift类和函数。

2020-07-07