Очевидно, что у Apple есть возможность создавать динамически загружаемые библиотеки (известные как фреймворки) для iOS, поскольку они поставляются с XCode (например, UIKit). Разработчики приложений могут только создавать статические библиотеки или, в лучшем случае, обманывать Xcode, думая, что он загружает фреймворк, когда фактически загружает статическую библиотеку, это называется созданием фальшивых фреймворков, что является некоторым удобством перетаскивания мышью, но ни одно из преимуществ динамической загрузки.
Каково обоснование Apple для сохранения динамических структур от разработчиков приложений? Похоже, что это значительно облегчит использование внешних библиотек, поскольку разработчикам не придется полагаться на привередливые флаги компоновщика или цепочки зависимостей библиотек с открытым исходным кодом.
Я вижу общую причину безопасности. Почему же Apple разрешает это на OSX, а не на iOS? Разве безопасность там тоже не является обязательным требованием?
РЕДАКТИРОВАТЬ: Это больше не относится к iOS 8. Apple добавила поддержку динамических структур.
источник
Причина - безопасность, как упоминалось в этом вопросе переполнения стека :
источник