8

我正在构建一个将在多个 iOS 应用程序中使用的静态库。与此同时,我正在使用我的库开发其中一个应用程序。

在开发过程中,我每天至少会收到一次关于找不到库中的头文件的烦人错误(在我的应用程序项目中)。我了解到,在构建静态库时,标头可以是PublicPrivateProject

我猜想我想在我的库中公开的每个标题都应该是Public.

我的问题是,管理这些公共标头的最佳方法是什么?我应该为我的所有公共头文件创建一个主要的公共头文件#import吗?Xcode 可以为我生成这样的文件吗?

另一个主要问题是Public Header Folder Path设置的推荐值是多少?

我的主要目标是,未来将使用这个库的项目将能够以尽可能少的配置来做到这一点(添加链接器标志、更改User Header Search Path等)

非常感谢你。

4

1 回答 1

-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

瞧,希望这个答案有所帮助。

于 2012-05-21T12:03:31.430 回答