我正在构建一个Cocoa Touch静态库。我应该如何决定是否将头文件复制为公共文件,私有文件或项目文件?
Answers:
公开:该接口已最终确定,可供产品的客户使用。产品中包含公共标头作为可读源代码,没有限制。
专用:该接口不适合您的客户使用,或者处于开发的早期阶段。产品中包含一个专用标头,但标记为“专用”。因此,这些符号对所有客户端都是可见的,但是客户端应了解不应使用它们。
项目:该接口仅供当前项目中的实现文件使用。除对象代码外,项目标头不包含在目标中。这些符号对客户完全不可见,只有您自己可见。
来源: Xcode开发人员库>工具和语言> IDE>项目编辑器帮助>设置头文件的可见性
兰迪的回答很好,并且为您提供了所有相关的背景知识。我想根据希望使用库的方式添加一些信息来帮助您。
项目:如果您正在分发项目,并且希望用户将您的项目作为自己的子项目包括在内,则应确保将标头标记为“项目”。不这样做将导致如下问题: Xcode 4存档版本未指定
请注意,这适用于每个子项目...递归地包括子项目的子项目。
公开:如果您希望库的用户仅链接到您的对象(而没有原始项目),请确保将标头标记为“公共”(仅适用于需要引用的标头)。