ios – “框架模块中允许非模块化包含”设置究竟是什么?

我看到网上有很多线程建议将“允许框架模块中的非模块化包含”构建设置更改为“是”,但我无法找到这个构建设置究竟是什么的解释!是否有人能够解释它是什么或做了什么或指向我解释的一些链接?

关于我的问题的一些背景:我正在开发一个依赖于.a库的Cocoa Touch Framework.我无法在Framework的公共标头中使用.a库的任何标头.好吧,我可以和我的框架构建但是当我将它添加到我的应用程序时,那么找不到那些头文件. (将“允许非模块化包含在框架模块中”设置更改为“是”允许我的框架构建,但不能解决它在我的应用程序中可用的后续问题.)

最佳答案
我发现this GitHub Gist是Xcode Build Settings的一个很好的可搜索参考.

根据该Gist(见here),“允许非模块化包含在框架模块中”构建设置的目的如下:

Enabling this setting allows non-modular includes to be used from
within framework modules. This is inherently unsafe, as such headers
might cause duplicate definitions when used by any client that imports
both the framework and the non-modular includes.

转载注明原文:ios – “框架模块中允许非模块化包含”设置究竟是什么? - 代码日志