Подтвердить что ты не робот

Что такое Private API и почему Apple отвергает приложение iOS, если оно используется?

Я прочитал несколько статей об этом, и я просто хочу понять, правильно ли я это понимаю:

Apple отклонит ваше приложение, если вы используете частный API...

  • В чем основное отличие между "Private API" и "не-частным API?"

  • Являются ли "не частные" API только API, предоставленные и проверенные Apple?

  • Не API - это просто способ взаимодействия с Framework, а Framework - это всего лишь набор инкапсулированных классов/заголовков, которые люди могут использовать для тривиальных целей?

  • Не означает ли это, что я не могу повторно использовать любой код (кроме Apple) вообще в моем приложении?

  • Если это правда, всякий раз, когда программист делает свои собственные классы и методы, разве он не технически разрабатывает мини-Framework только для своей конкретной цели? Так не значит ли это, что он использует свой собственный частный API?

  • Какая разница между использованием других классов и методов рядом с моими классами/методами, как они могут даже сказать разницу и почему это будет проблемой?

Мое понимание этого звучит абсурдно и не верю, что я понимаю, что такое "частный API". Я прочитал, что он должен защищать от любых изменений в API, которые могли бы сделать ваше приложение дисфункциональным. Означает ли это, что API-интерфейсы связаны во время выполнения (в отличие от времени компиляции) и могут быть автоматически обновлены без вашего ведома или чего-то еще? (Видите ли, я изначально думал о API/фреймворках как устанавливаемый в камне всякий раз, когда вы компилируете, может быть, именно здесь я ошибаюсь)

Кто-нибудь может помочь мне? Я действительно смущен этой политикой. Спасибо!

4b9b3361

Ответ 1

Q. В чем основное отличие между "Private API" и "не-частным API?"

  • Частный - это тот, который не является общедоступным (его не так много)

Q. Являются ли "не частными" API только API, предоставленные и проверенные Apple?

  • Частные и общедоступные API оба предоставляются Apple, но вам доступны только общедоступные API.
  • Частные API-интерфейсы предназначены только для Apple

Q. Разве API не является способом взаимодействия с Framework, а Framework - это всего лишь набор инкапсулированных классов/заголовков, которые люди могут использовать для тривиальных целей?

  • Да

Q. Разве это не означает, что я не могу повторно использовать какой-либо код (кроме Apple) вообще в моем приложении?

  • Нет

Q. Если это так, каждый раз, когда программист делает свои собственные классы и методы, разве он не разрабатывает мини-Framework только для своей конкретной цели? Так не значит ли это, что он использует свой собственный частный API?

  • Нет (каркас отличается от приложения)

Q. Какая разница между использованием других классов/методов рядом с моими классами/методами, как они могут даже сказать разницу и почему это будет проблемой?

  • Обычно это не было

То, что вам нужно получить, это то, что, обращаясь к частным API, вы должны думать только о частных API, поставляемых Apple.
Другие API-интерфейсы от сторонних сторон различны (и Apple не волнует, пока этот сторонний код не использует частные API Apple).