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

ma1*_*w28 68 xcode header static-libraries

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

Con*_*has 103

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

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

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

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

  • 有没有人知道在哪里HECK是XCode 5中头文件的选项?! (2认同)

Wil*_*wer 25

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

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

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

PUBLIC:如果您希望图书馆的用户仅链接您的对象(而不是您的原始项目),请确保您的标题标记为"公开"(仅适用于他们需要引用的标题).

  • @Adam,如果您在谈论Xcode中的错误,请包含版本号.SO答案坚持了很长时间,现在一个bug在$ SOME_RELEASE之后不会成为一个bug. (3认同)