Подтвердить что ты не робот

Что такое встроенные двоичные файлы в Xcode?

Я использую Alamofire в проекте Swift, и часть их инструкций по ручной установке заключается в том, чтобы добавить Alamofire в Embedded Binaries в Общие для моей целевой задачи.

enter image description here

Что такое встроенные двоичные файлы?

4b9b3361

Ответ 1

Встроенные двоичные файлы - это двоичные файлы, которые копируются в ваш пакет приложений при создании проекта. Используйте встроенные двоичные файлы, когда ваше приложение использует сторонние структуры, чтобы люди могли использовать ваше приложение, не требуя этих фреймворков, установленных на их машине. Встроенные двоичные файлы не позволяют пользователям вручную устанавливать сторонние фреймворки. Ваше приложение использует встроенную фреймворк.

В вашем примере Alamofire ваше приложение опирается на Alamofire. Если вы не встраиваете рамки Alamofire, никто не сможет использовать ваше приложение, если они не установили вручную Alamofire. Встраивая Alamofire с вашим приложением, каждый может запустить ваше приложение.

Ответ 2

  • "Двоичный" означает: скомпилированный код - в отличие от "исходного кода", с которым вы работаете, когда пишете текст в виде текста.

    Они могли бы дать вам исходный код и позволить вам скомпилировать его, но они этого не сделали; они хранят исходный код в секрете, поэтому после компиляции он дал вам все это, чтобы вы не могли его прочитать.

  • "Встроенный" означает: быть включенным в ваш комплект приложений, скопировав их в него во время сборки.

    Итак, они передают вам скомпилированный код (фреймворки) и сообщают вам, как включить их в свой пакет приложений. Эти рамки, в отличие от фреймворков Cocoa, еще не существуют на устройстве, поэтому, если вы не включите их в приложение, они не будут присутствовать, и ваше приложение не сможет вызвать их.

    Сравните это с Cocoa фреймворками. Они тоже являются скомпилированным кодом. Но они уже существуют на устройстве. Поэтому они не встроены в ваше приложение; они просто связаны (и, если они появятся, появятся в следующей группе, Linked Frameworks и Libraries).

Ответ 3

Встраивание бинарных файлов копирует всю структуру в цель.

framework - это иерархический каталог, который инкапсулирует динамическую библиотеку, файлы заголовков и ресурсы, такие как раскадровки, файлы изображений и локализованные строки, в один пакет. Приложения, использующие фреймворки, должны embed the framework в комплект приложений.

Поэтому, когда вы встраиваете фреймворк в свое приложение, оно увеличивает размер вашего приложения, потому что оно копируется в ваш пакет приложений. В большинстве сценариев мы будем использовать эти разделы, когда будем использовать сторонние фреймворки.

Когда мы добавляем framework в Embedded Binaries он автоматически добавляет этот фреймворк и в Linked Frameworks and Libraries.

Обратитесь к документации Apple для получения более подробной информации: https://developer.apple.com/library/archive/technotes/tn2435/_index.html

Ответ 4

Xcode 11 содержит только раздел Frameworks, Libraries, and Embedded Content

Embedding фактически добавляет копию фреймворка в ваш пакет приложений по умолчанию в каталоге Frameworks. Ваше приложение не сможет ничего сделать с этой платформой, если оно не ссылается на нее. XCode делает это за вас. [Link vs Embed]

Источник здесь