No es estrictamente cierto que el iPhone no admite enlaces dinámicos. Lo que es cierto es que las aplicaciones instaladas por la App Store no pueden enlazarse dinámicamente.
La tienda de aplicaciones/ituned instala programas en el directorio/private/var/mobile/.... Cualquier programa abierto que viva en ese subdirectorio está cerrado y tiene ciertos derechos eliminados cuando se abre. Los procesos chroot no pueden bifurcarse, no pueden ejecutarse en segundo plano, no pueden cargar bibliotecas dinámicas y no pueden guardar archivos fuera de sus pequeñas áreas protegidas del disco (con la excepción de las fotos en el directorio de fotos).)
Dicho esto, el iPhone tiene un sistema operativo moderno que admite enlaces dinámicos muy bien. El acto de 'jailbreaking' es en realidad instalar un programa fuera de la cárcel chroot que luego puede hacer cosas como tenedor y guardar archivos en otros lugares en el disco y cargar el código dinámico.
Apple (y la comunidad de iPhone abierta) tiene una gran cantidad de programas que se ejecutan en el teléfono (como las aplicaciones MobilePhone, Mobile Safari y SpringBoard) que se pueden ejecutar en segundo plano y cargar bibliotecas. Se colocan en un lugar diferente en el disco (/ private/var/stash/Applications a menudo).
Entonces ... si quiere vender su aplicación en la tienda de aplicaciones, no puede cargar una biblioteca dinámica. Que para la mayoría de las personas significa que no puedes cargarlo en absoluto. Pero si desea distribuir su aplicación a través de Cydia (un instalador de aplicación de teléfono jailbroken común), entonces puede salirse con la suya jailbreak el teléfono y cargar su biblioteca dynaamic. De hecho, debido a que el proceso de instalación de itunes es el culpable, como has aprendido, ni siquiera puedes cargar un dylib desde tu propia aplicación que escribes en tu propio teléfono ... a menos que tengas un jailbreak.