objective-c – Objective – C静态库及其公共标题 – 什么是正确的方法?

栏目: Objective-C · 发布时间: 6年前

内容简介:翻译自:https://stackoverflow.com/questions/10529604/objective-c-static-library-and-its-public-headers-what-is-the-right-way

我正在构建一个将在多个iOS应用程序中使用的静态库.

与此同时,我正在使用我的库处理其中一个应用程序.

在开发过程中,我每天至少会遇到一个令人烦恼的错误,即有关未找到库的头文件(在我的应用程序项目中).

我了解到,在构建静态库时,标题可以是Public,Private或Project

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

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

Xcode可以为我生成这样的文件吗?

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

我的主要目标是将来使用此库的项目将能够使用尽可能少的配置(添加链接器标志,更改用户标头搜索路径等).

非常感谢你.

关于公共/私人/项目标题,以下是以前的答案以防万一

=> 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à,希望这个答案有所帮助.

翻译自:https://stackoverflow.com/questions/10529604/objective-c-static-library-and-its-public-headers-what-is-the-right-way


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Four

The Four

Scott Galloway / Portfolio / 2017-10-3 / USD 28.00

NEW YORK TIMES BESTSELLER USA TODAY BESTSELLER Amazon, Apple, Facebook, and Google are the four most influential companies on the planet. Just about everyone thinks they know how they got there.......一起来看看 《The Four》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具