ma1*_*w28 68 xcode header static-libraries
我正在构建一个Cocoa Touch静态库.我应该如何决定是否将头文件复制为公共,私有或项目?
Con*_*has 103
公共:界面已完成,旨在供您的产品客户使用.公共标头作为可读源代码包含在产品中,没有任何限制.
私有:该界面不适合您的客户或处于开发的早期阶段.产品中包含一个私有标题,但它标记为"私有".因此,符号对所有客户端都是可见的,但客户应该明白他们不应该使用它们.
项目:该接口仅供当前项目中的实现文件使用.除目标代码外,目标中不包含项目头.客户端根本看不到这些符号,仅对您有效.
来源: Xcode开发人员库>工具和语言> IDE>项目编辑器帮助>设置头文件的可见性
Wil*_*wer 25
兰迪的答案很好,并为您提供了所有相关背景.我想根据您对库的使用方式添加一些信息来帮助您.
项目:如果您要分发项目,并希望用户将项目作为子项目包含在自己的项目中,则应确保标题标记为"项目".不这样做会导致这样的问题: Xcode 4存档版本未指定
请注意,这适用于每个子项目......包括子项目的子项目,递归.
PUBLIC:如果您希望图书馆的用户仅链接您的对象(而不是您的原始项目),请确保您的标题标记为"公开"(仅适用于他们需要引用的标题).