До iOS7 Apple не поддерживала динамическое связывание из-за проблем с безопасностью. Повторное использование кода между разработчиками обычно основывалось на статических библиотеках, которые были созданы как часть исполняемого файла приложения.
Представление расширений в iOS8, похоже, немного изменило это, потому что расширения являются отдельными исполняемыми файлами. Обмен кодом между расширением и его содержащим приложением осуществляется через фреймворк. Apple говорит об этом в своих примечаниях к выпуску:
Рамки для iOS. Теперь разработчики iOS могут создавать структуры динамические. Рамки представляют собой набор кода и ресурсов для инкапсуляции функциональность, которая ценна для нескольких проектов. Каркасы отлично работают с расширениями, разделяя логику, которая может использоваться обоими основное приложение и прилагаемые расширения.
Акцент мой.
Кроме того, в руководстве по расширению расширений они объясняют, что вы можете совместно использовать код между расширением и содержащим приложение через "встроенную инфраструктуру".
Мой вопрос: что такое встроенная инфраструктура, как она отличается от динамической структуры, и действительно ли мы увидим правильную динамическую компоновку в iOS8? Вся документация, которую я прочитал, кажется двусмысленной.