我使用的是Xcode 6,
1)首先,我创建了一个动态库(CoreLibrary)。此库包含RequestPoster.h文件。
2)然后我创建了一个Cocoa Touch框架,并添加了这个动态库(CoreLibrary)。
3)然后这个框架被添加到我的项目中,它在RequestPoster.h文件(CoreLibrary)中给出了错误。
错误:在框架模块类中包含非模块头:
ifaddrs.h,arpa/inet.h,sys/types.h>
在项目中找不到这些文件。
发布于 2016-06-22 12:15:28
确保头文件作为框架的公共头文件的一部分公开可用。
转到框架项目目标项目构建阶段,然后拖动以将相关的头文件从->移动到->。希望这能有所帮助!
发布于 2015-02-17 08:06:28
尝试进入"Target“下的”Build Settings“,并将"Allow Non-Modules in Framework Modules”设置为YES。
真正的答案是,导入的位置需要由库所有者更改。这些文件ifaddrs.h,arpa/inet.h,sys/typees.h被导入到框架中的.h文件中,这是Xcode不喜欢的。库维护人员应该将它们移动到.m文件中。例如,请参阅GitHub上的此问题,其中AFNetworking修复了相同的问题:https://github.com/AFNetworking/AFNetworking/issues/2205
发布于 2017-04-13 17:14:53
我也遇到了同样的问题,只需将头文件设为公共文件即可解决。
如果您正在处理项目中的多个模块。然后,您的头文件需要是公共的,以便在项目的其他部分中使用。您需要的是选择该头文件,并在项目的Utilities视图中。将文件从Project/Private更改为Public。如下图所示:
https://stackoverflow.com/questions/27776497
复制相似问题