Swift 编译器错误 'iostream' 未找到

Swift Compiler Error 'iostream' not found

我试图实现一个我在 github 上找到的项目。

https://github.com/hossamghareeb/Facebook-POP-Tutorial

当我执行 .h 和 .m 文件时出现错误,提示 XCode 找不到我的 'iostream' 文件。

我在 SWIFT 工作,使用 bridging-headers 来使用框架。当我尝试构建原始项目时它可以工作,但我的总是失败。

如何添加我的 iostream 文件?

提前致谢!

Swift 桥接不支持 Objective C++ 文件。这意味着任何使用或公开 C++ 实体的 headers(如 std::vectorstd::iostream)不能添加到桥接 header.

POP 桥接 header 包含:

#import "POP.h"

您真的应该只 #import 您自己的桥接文件 header,而不是尝试 #import 所有 .h 文件。

如果您需要使用在 .mm 文件中定义的某些 API 未使用 Objective C 或纯 C header 公开的部分,那么您必须制作您自己的 header 文件来公开它(可能还有一个 back-end 来实现您所公开的内容)。

您可以在 Swift 使用的库中使用 .mm 文件的原因是因为所有 swift 使用的是这些文件的接口 - 即 .h 文件,只要这些文件是纯 C 或 Objective C,那么您就可以使用 .mm 文件中实现的代码。 .mm 文件由 Objective C++ 编译器编译 (clang++)