¿Qué porcentaje de la API de iOS de Apple está abierta?

Esta es una pregunta un poco inesperada y sin respuesta. Por la API, ¿supongo que te refieres al Framework / SDK proporcionado por Apple?

¿Estás preguntando si hay métodos ocultos a los que se pueda llamar, o si hay …? Quiero decir, el API / Framework público está disponible a través del SDK para descargar en:

https://developer.apple.com/prog…

El área de desarrolladores también contiene documentos que exponen las clases, métodos, propiedades, etc. de API / Framework y cómo usar cada uno de ellos. También tiene muchos códigos de ejemplo para demostrarlos. Pero en cuanto a lo que está preguntando: la API pública es la API pública. Es una abstracción de funcionalidades de nivel inferior para simplificar la codificación y la reutilización del código utilizando un Marco común. En ese sentido, toda la API pública está “abierta”.

Sea más específico en lo que quiere decir con esa palabra y exactamente qué es lo que está buscando encontrar. Cualquier parte de la API que no esté disponible para usted, como módulos precompilados u otras cosas de tipo extraño son, déjenme decirlo de esta manera, si no estuviera “abierto”, no lo estaría. Por lo tanto, como programador, no deberías tener mucho interés en ellos. ¿A menos que intente obtener acceso a clases que son heredadas por otras clases API / Framework pero que no están documentadas o que el programador final debe utilizar?

Ahora me doy cuenta de que olvido que hay algunas diferencias inherentes importantes en Objective-C que hacen que sea un tipo de C ++ paralizado o simplificado, en el que fui entrenado de manera clásica. Por lo tanto, puede haber cierta confusión. Por ejemplo:

“A diferencia de C ++, Objective-C no admite la sobrecarga del operador. Además, a diferencia de C ++, Objective-C permite que un objeto herede directamente solo de una clase (lo que prohíbe la herencia múltiple). Sin embargo, en la mayoría de los casos, las categorías y protocolos pueden usarse como alternativa maneras de lograr los mismos resultados.

Debido a que Objective-C utiliza la tipificación dinámica en tiempo de ejecución y a que todas las llamadas a métodos son llamadas a funciones (o, en algunos casos, llamadas al sistema), muchas optimizaciones de rendimiento comunes no se pueden aplicar a los métodos Objective-C (por ejemplo: alineación, propagación constante, optimizaciones interprocediales, y reemplazo escalar de agregados). Esto limita el rendimiento de las abstracciones de Objective-C en relación con abstracciones similares en lenguajes como C ++, donde tales optimizaciones son posibles “.

Lo sentimos, pero su pregunta también pondrá en duda algunos términos ambiguos e intercambiables, como “API” y “Framework”, que forman parte del “SDK” general que contiene lo anterior y otras cosas como documentación y archivos adicionales que pueden Ser útil o necesario. Tal vez mientras tanto vea:

http://en.wikipedia.org/wiki/IOS…