¿Qué quiere decir Apple cuando se refieren a API privadas?¿Qué son las API privadas
Respuesta
API no documentadas, o API que no han expuesto explícitamente al desarrollador.
Si bien puede acceder a ellos, no hay garantía de que estas API no cambien en futuras revisiones de iOS, además es una forma segura de hacer que su aplicación sea rechazada.
Se refieren a las API que solo son para Apple. O para ser más correcto, generalmente NO debe ser utilizado por los desarrolladores de SDK.
Una API privada suele ser una llamada a un método que no es supuestamente que deben llamar los desarrolladores de terceros. Estas llamadas generalmente están reservadas para el proveedor del producto/API (Apple) y generalmente son "privadas" porque la implementación de ellas podría cambiar en el futuro, y si permiten que los desarrolladores las usen y la implementación cambie, la aplicación podría romperse. .
Creo que una razón más razonable por la que no quieren API privadas es porque su tecnología de solución de seguridad (DRM) y restricciones en cosas como el tethering y la tecnología de firma de App Store dependen de ciertas cosas que quedan fuera de su alcance, como un desarrollador de SDK. –
@ Warren. No eso no es. Sería estúpido tener DRM que dependiera de los desarrolladores que cumplen las reglas. – JeremyP
Es posible violar esas reglas y aprender cosas que pueden ayudar en el desarrollo de rootkits. –
Un método privado es aquel que se usa como detalle de implementación en lugar de como detalle de la interfaz [pública]. En otros idiomas, donde los métodos públicos y privados son más ejecutables, los métodos privados generalmente no pueden invocarse desde otra cosa que no sea la clase en la que están contenidos. El objetivo de esto es ocultar los detalles de implementación o evitar la dependencia externa de los detalles de implementación. Por ejemplo, NSArray
probablemente tiene una serie de métodos privados que se ocupan de la asignación de memoria y el almacenamiento optimizado para un acceso eficiente.
Objective-C no tiene métodos verdaderamente privados; usted es libre de enviar cualquier mensaje que desee a cualquier objeto, y puede responder o no. En tiempo de ejecución, también puede inspeccionar exactamente a qué mensajes responderá una clase (y sus instancias) a través de una serie de llamadas a Objective-C Runtime API [que están documentadas públicamente].
Algunas personas intentan utilizar métodos privados para obtener un comportamiento del programa que no es posible con la interfaz públicamente documentada; quizás como una optimización, tal vez para hacer algo que la API nunca tuvo la intención de hacer. Es fácilmente posible debido a la naturaleza dinámica de Objective-C y la falta de verdaderos métodos privados.
Como nota al margen; Apple suele usar un guion bajo en los nombres de los métodos para indicar que es privado. Apple también indica que los nombres de métodos que comienzan con un guión bajo están reservados solo para Apple.
- 1. Apple y API privadas
- 2. ¿Las claves públicas y privadas son intercambiables?
- 3. ¿Son posibles las constantes privadas en PHP?
- 4. Cómo usar las API privadas de SDK de iPhone
- 5. ¿Qué son las buenas API de juegos multiplataforma?
- 6. ¿En qué se diferencian las claves públicas y privadas?
- 7. Detectando el uso de API privadas
- 8. ¿Qué son las fortunas?
- 9. Directrices de la aplicación de Apple: ¿API privadas?
- 10. ¿Qué son las cookies firmadas y por qué son útiles?
- 11. C# para las variables miembro privadas
- 12. ¿Qué son las variables puras?
- 13. ¿Qué son las variables estáticas?
- 14. R: ¿Qué son las tragamonedas?
- 15. ¿Qué son las asas? IntPtr
- 16. AS3: si las variables privadas tienen un _
- 17. ¿Las preferencias compartidas pueden ser privadas?
- 18. MSMQ Obtener todas las colas privadas
- 19. ¿Cómo hacer que las propiedades sean privadas?
- 20. EUnit no puede probar las funciones privadas
- 21. ¿Las API de Java Servlet son compatibles con versiones anteriores?
- 22. API de colecciones de Java: ¿por qué las clases [Lista | Establecer | Mapa] no son modificables?
- 23. ¿Por qué mis clases son privadas de forma predeterminada en Visual Studio?
- 24. ¿Qué significa "exportar claves privadas" (Makecert -pe)?
- 25. ¿Qué son las tuberías con nombre?
- 26. ¿Qué son las colecciones genéricas en C#?
- 27. ¿Qué son las sesiones sin cookies?
- 28. ¿Qué son las funciones __defineGetter __() y __defineSetter __()?
- 29. ¿Qué son las convenciones de llamadas personalizadas?
- 30. ¿Qué son realmente las cadenas en .NET?
Por "puede acceder a ellos" quiere decir "Apple rechazará su aplicación para usarlos". – ceejayoz
Sí. Déjame editar eso: D – Alan
Así que no vas a tropezar con ellos, realmente tienes que buscarlos, ¿qué es lo que hacen los hackers para cambiar la imagen de fondo, etc. correcta? – TheLearner