В Xcode: заголовки копия: общественная и частная и проект?


Я создаю статическую библиотеку Cocoa Touch. Как я должен решить, следует ли копировать файл заголовка как общедоступный, частный или проект?

2 60

2 ответа:

общие: - интерфейс доработан, и предназначены для использования клиентами вашего продукта. Открытый заголовок включается в продукт как читаемый исходный код без ограничений.

Private: интерфейс не предназначен для ваших клиентов или находится на ранних стадиях разработки. Частный заголовок включен в продукт, но он помечен как "частный". Таким образом, символы видны всем клиентам, но клиенты должны понимать, что они не должны их использовать.

: интерфейс предназначен для использования только файлы реализации в текущем проекте. Заголовок проекта не включается в целевой объект, за исключением объектного кода. Символы не видны клиентам вообще, только вам.

источник: библиотека разработчиков Xcode > инструменты и языки > IDEs > справка редактора проектов > настройка видимости файла заголовка

ответ Рэнди хорош и дает вам все соответствующие предпосылки. Я хотел бы добавить некоторую информацию, чтобы помочь вам на основе, как вы ожидаете, что ваша библиотека будет использоваться.

: если вы распространяете свой проект и ожидаете, что пользователи включат ваш проект в качестве подпроекта в свой собственный, Вы должны убедиться, что ваши заголовки помечены как "проект". Не делать этого приведет к проблемам, как это: Версия Архива Xcode 4 Не Указана

обратите внимание, что это относится к каждому подпроекту...в том числе подпроекты подпроектов, рекурсивно.

общие: если вы ожидаете, что пользователи вашей библиотеки будут ссылаться только на ваш объект (а не на ваш исходный проект), убедитесь, что ваши заголовки помечены как "общедоступные" (только для заголовков, на которые им нужно будет ссылаться).