Claramente, Apple tiene la capacidad de crear bibliotecas cargadas dinámicamente (conocidas como frameworks) para iOS, ya que envían varias con XCode (como UIKit). Los desarrolladores de aplicaciones solo tienen la capacidad de crear bibliotecas estáticas, o en el mejor de los casos, engañar a Xcode para que piense que está cargando un marco cuando en realidad está cargando una biblioteca estática, esto se conoce como crear un marco falso, algo de la conveniencia de arrastrar y soltar, pero ninguno de los beneficios de carga dinámica.
¿Cuál es el razonamiento de Apple para mantener los marcos dinámicos de los desarrolladores de aplicaciones? Parece que facilitaría el uso de bibliotecas externas considerablemente, ya que los desarrolladores no tendrían que depender de indicadores de enlaces delicados o cadenas de dependencias de bibliotecas de código abierto.
Veo una razón común es la seguridad. ¿Por qué entonces Apple lo permite en OSX y no en iOS? ¿No es la seguridad un requisito allí también?
EDITAR: Esto ya no es relevante a partir de iOS 8. Apple ha agregado soporte para marcos dinámicos.
fuente
La razón es la seguridad como se menciona en esta pregunta de desbordamiento de pila :
fuente