使用Swift构建可重用的库,使用桥接头

时间:2014-08-06 01:34:34

标签: swift

我试图了解Swift,并开始只是做了一些我写过的应用程序的愚蠢端口。

这些应用程序有一些共同的核心逻辑,我已经在Xcode中使用了Framework目标来与这些项目共享。我在使用Swift中的等效内容时遇到了麻烦。

我知道Swift编译成模块,这看起来像我想要的。我想要一个Swift模块,我可以与其他项目共享。我似乎遇到的主要问题是,如果它还使用了从Beta 4开始的桥接头,你就不能拥有一个带Swift的框架,我需要调用一些不需要的API(如Security.framework)。拥有Swift绑定。编译器(Beta 5)失败并显示以下错误消息:

  

<unknown>:0: error: using bridging headers with framework targets is unsupported

如何创建可重用的Swift模块,还需要使用桥接头?或者,如何在没有桥接头的情况下在Security.framework中使用东西? (或者,除了我应该使用的框架之外还有其他东西来创建一个没有任何这些问题的模块吗?)

1 个答案:

答案 0 :(得分:8)

要在同一框架目标中将Objective-C代码导入swift,只需导入伞头文件中的每个Objective-C头文件。 Apple的官方文档已经提到:https://developer.apple.com/library/ios/documentation/swift/conceptual/buildingcocoaapps/MixandMatch.html#//apple_ref/doc/uid/TP40014216-CH10-XID_81Importing Code from Within the Same Framework Target部分。

构建在框架中的cocoa已作为swift中的模块迁移。要使用Objective-C的Security.framework,您只需添加一行:

import Security

在swift文件的标题处。