我正在dynamic framework
中开发一个具有公共和私有标头的Objective-C
。
由于某些原因,我 NOT 使用模块化导入指令
(例如:#import <MyFramework/MyPublicHeader.h>
)
相反,我使用非模块化导入指令
(例如:#import "MyPublicHeader.h"
)
我仍然可以构建一个模块,以便我可以从我的框架模块中导入它们
(例如:#import <MyFramework/MyPublicHeader.h>
)
到目前为止一切顺利。但是,当我从私有标题内部导入公共标题时,我得到&#34;标题未找到&#34;编译错误。
#import "MyPublicHeader.h"
#import <MyFramework/MyPublicHeader.h>
我检查了其他项目(例如YAPDatabase
),它从其私有标头中导入公共标头而没有错误。事实上,我现在已经解决了这个问题,但我仍然想了解更多关于这个过程的内部结构。为什么我没有找到标题#34;在这种情况下?
有人可以说明modules
,public headers
和private headers
的内部机制吗?