我有一个静态库,我们称之为S - 用Objective-C编写。现在很少有人支持iOS-7开始使用Swift,因此我必须在Swift中为我的函数提供接口。
我知道我们可以使用桥接头直接将Objective-C代码导入Swift(在同一个项目中),但我该如何为静态库做呢?
另外,我的静态库中不能有Swift文件 - 因为Swift只受动态框架的支持。因此,如果我制作动态框架,那么我就无法为iOS-7部署这个库。
答案 0 :(得分:1)
静态库将成为链接到它的项目生成的二进制文件的组成部分。因此,在桥接头中包含静态库的头文件应该使其成为'可以在同一个项目中使用Swift代码提供的功能。
答案 1 :(得分:0)
我明白了。我们需要在SDK(静态库)中创建module.modulemap
,然后需要将此module.modulemap的路径添加到Import Paths in Swift Compiler - Search Paths in Build Settings
。此外,如果通过CocoaPods分发静态库,则可以更改podspec以自动执行此设置。