it-swarm.cn

Xcode:复制标题:公共与私有与项目?

我正在构建一个Cocoa Touch静态库。我应该如何决定是否将头文件复制为公共,私有或项目?

64
ma11hew28

公共: 界面已完成,并且打算供产品的客户使用。公共标头作为可读源代码包含在产品中,没有任何限制。

私有: 该界面不适合您的客户或处于开发的早期阶段。产品中包含一个私有标题,但它标记为“私有”。因此,符号对所有客户端都是可见的,但客户应该明白他们不应该使用它们。

项目: 该接口仅供当前项目中的实现文件使用。除目标代码外,目标中不包含项目头。客户端根本看不到这些符号,仅对您有效。

来源: Xcode开发人员库>工具和语言> IDE>项目编辑器帮助>设置头文件的可见性

100
Constantino Tsarouhas

兰迪的答案很好,并为您提供了所有相关背景。我想根据您对库的使用方式添加一些信息来帮助您。

PROJECT: 如果您要分发项目,并希望用户将项目作为子项目包含在自己的项目中,则应确保标题标记为“项目”。不这样做会导致这样的问题: Xcode 4存档版本未指定

请注意,这适用于每个子项目......包括子项目的子项目,递归。

PUBLIC: 如果您希望您图书馆的用户仅链接您的对象(并且没有原始项目),请确保您的标题标记为“公开”(仅适用于他们需要参考的标题)至)。

24
William Power