在Swift中导入Objective-c框架?

时间:2017-08-21 09:49:59

标签: objective-c swift frameworks

我正在尝试将objective-c库导入swift。我已经创建了一个桥接文件(.h)并将其添加到构建设置中,在Swift Compiler - General下的Objective-C Bridging Header中。进入桥接文件我添加了#import <MyFramework>

问题来了。这个框架是私有的,特别的。为了在Objective-C中正确安装,他们告诉你将main.m更改为main.mm(在swift中没有意义)。

当我尝试构建项目时,我得到111个错误(Apple Mach-O链接器错误)。它始于:

Undefined symbols for architecture x86_64:

所有错误都类似于:

std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__grow_by(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long)", referenced from:

所以我真的不明白。你有什么线索为什么会这样?

如果您需要我发布更多信息,请告诉我。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

.mm扩展名用于使用c ++代码.std ::是c ++代码。你只需要编辑yourBridgingHeaderFile.m到YourBridingHeaderName.mm就可以了。

.mm file