Что такое частные API

Что означает Apple, когда они ссылаются на частные API?

Ответ 1

Недокументированные API или API, которые они явно не раскрывают разработчику.

Пока вы можете получить к ним доступ, нет никакой гарантии того, что эти API не изменятся в будущих версиях iOS, а также верный способ оплаты отклонить ваше приложение.

Ответ 2

Частный метод - это метод, который используется как деталь реализации, а не деталь [public] интерфейса. На других языках, где общедоступные и частные методы более эффективны, частные методы обычно не могут быть вызваны ничем, кроме класса, в котором они содержатся. Целью этого является скрыть детали реализации или предотвратить внешнюю зависимость от деталей реализации. Например, NSArray, вероятно, имеет ряд частных методов, которые занимаются распределением памяти и оптимизированным хранилищем для эффективного доступа.

Objective-C не имеет действительно частных методов; вы можете бесплатно отправлять любое сообщение, которое хотите, и оно может отвечать на него, а может и нет. Во время выполнения вы также можете точно проверить, какие сообщения будет отвечать классу (и его экземплярам) через серию вызовов Objective-C Runtime API [которые публично документированы].

Некоторые люди пытаются использовать частные методы для получения поведения программы, что невозможно с публично документированным интерфейсом; возможно, как оптимизация, возможно, сделать что-то, что API никогда не собирался делать. Это легко возможно из-за динамической природы Objective-C и отсутствия истинных частных методов.

В качестве побочного примечания; Apple обычно использует ведущее подчеркивание в именах методов, чтобы обозначить, что оно является частным. Apple также заявляет, что имена методов, начинающиеся с подчеркивания, зарезервированы только для Apple.

Ответ 3

Частный API обычно является вызовом метода, который не должен вызываться сторонними разработчиками. Эти вызовы обычно зарезервированы для поставщика продукта /API (Apple) и обычно "private", поскольку их реализация может измениться в будущем - и если они позволят разработчикам использовать их и изменения в реализации, приложение может сломаться.

Ответ 4

Они означают API, которые предназначены только для Apple. Или, вернее, вообще НЕ использовать разработчиками SDK.