O que exatamente é uma API privada e por que a Apple rejeitará um aplicativo iOS se um for usado?

Eu li vários artigos sobre isso, e eu só quero ver se entendi corretamente:

A Apple rejeitará seu aplicativo se você usar uma API privada ...

Qual é a principal diferença entre uma "API privada" e uma "API não privada"?

As APIs "não privadas" são apenas as APIs fornecidas e verificadas pela Apple?

Uma API não é apenas uma maneira de interagir com um Framework, e um Framework é apenas um conjunto de classes / cabeçalhos encapsulados que as pessoas podem usar para propósitos triviais?

Isso não significa que não posso reutilizar o código de ninguém (além da Apple) no aplicativo?

Se isso for verdade, sempre que um programador fizer suas próprias classes e métodos personalizados, ele não estará tecnicamente projetando um mini Framework apenas para seu propósito específico? Então, isso não significa que ele está usando sua própria API privada?

Qual seria a diferença entre usar as classes / métodos de outra pessoa ao lado de minhas aulas / métodos, como eles poderiam até dizer a diferença e por que isso seria um problema?

Meu entendimento disso parece absurdo e não acredito que estou entendendo o que é uma "API privada". Eu li que era para proteger contra qualquer alteração na API que pudesse tornar seu aplicativo disfuncional. Isso significa que as APIs estão vinculadas durante o tempo de execução (em oposição ao tempo de compilação) e podem ser atualizadas automaticamente sem que você saiba ou algo do tipo? (Veja, eu estava pensando originalmente em APIs / frameworks como sendo gravadas em pedra sempre que você compila, talvez seja aqui que eu esteja errado)

Alguém por favor pode me ajudar? Estou muito confuso sobre esta política. Obrigado!

questionAnswers(1)

yourAnswerToTheQuestion