我正在构建一个将在多个iOS应用中使用的静态库。 与此同时,我正在使用我的库处理其中一个应用程序。
在开发过程中,我每天至少会遇到一个令人烦恼的错误,即有关未找到库的头文件(在我的应用程序项目中)。
我了解到,在构建静态库时,标题可以是Public
,Private
或Project
我猜我想要在我的库中公开的每个标题都应该是Public
。
我的问题是,管理这些公共标头的最佳方法是什么?我应该为所有公共标题创建一个带有#import
的主公共头文件吗?
Xcode可以为我生成这样的文件吗?
另一个主要问题是Public Header Folder Path
设置的建议值是多少?
我的主要目标是将来使用此库的项目将能够使用尽可能少的配置(添加链接器标志,更改User Header Search Path
等)。
非常感谢。
答案 0 :(得分:-1)
关于公共/私人/项目标题,以下是以前的答案以防万一 => https://stackoverflow.com/a/8016333/1075192
大多数情况下,C / C ++ / Obj-C库和框架都有一个主标题,包括所有其他标题。例如,Cocoa框架遵循此路径。
例如,要使用QuartzCore框架声明CAAnimation,您可以这样做:
#import "QuartzCore/CAAnimation.h"
或
#import "QuartzCore/Quartzcore.h"
“QuartzCore.h”实际上只包含一个标题保护,并包含该库的所有其他标题。
在我看来,使用第一个实际上更好,因为它不包括你不需要的所有声明。但大多数时候我们选择一次性包含所有内容的懒惰解决方案。
我不知道你是否可以直接用xCode生成这个,无论如何它很容易自己做,因为它只是一堆包含或导入。
公共头文件夹路径通常是“MyLibraryOrFramework / Headers”(例如,只需查看任何Cocoa的框架)。
最后,如果你想要一些真正可重用且无缝的东西,我建议你使用框架而不是静态库(几乎相似)。
看看这个很好的答案,理解为什么它完全符合你的需要: => https://stackoverflow.com/a/6389802/1075192
Voilà,希望这个答案有所帮助。