框架模块""允许非模块化包含究竟是什么?设置?

时间:2016-02-03 17:06:06

标签: ios xcode static-libraries cocoa-touch

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

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

1 个答案:

答案 0 :(得分:0)

我发现this GitHub Gist是Xcode Build Settings的很好的搜索参考。

根据该要点(请参阅here),“允许框架模块中包含非模块化”构建设置的目的如下:

  

启用此设置将允许从以下位置使用非模块化包含   在框架模块中。这本质上是不安全的,因为这样的标题   由导入的任何客户端使用时,可能会导致重复定义   框架和非模块都包括。