Какая разница в фазах сборки между помещением фреймворка в "Link binary with libraries" или в "Embed frameworks"?
Ссылка на двоичные файлы с библиотеками VS Embed Frameworks
Ответ 1
Связать двоичный файл с библиотеками Структуры ссылок и библиотеки с объектными файлами проектов для создания двоичного файла. Вы можете связать исходные файлы целей с библиотеками в целевых активных SDK или с внешними библиотеками.
Вставить рамки Вы можете создать встроенную инфраструктуру для совместного использования кода между вашим расширением приложения и содержащим его приложением.
-
Временная шкала (Посмотрите на это предложение) - "Если ваше приложение содержит ссылки для встроенной инфраструктуры, оно должно включать в себя архитектуру arm64 или будет отклонено в App Store."
Ответ 2
Я искал некоторые ответы здесь и там и хотел бы изменить это изучение, если кто-то снова столкнется с этим вопросом.
В любом случае, если мы хотим использовать какой-либо из ресурсов фреймворка (то есть API), нам нужно сослаться на него. В этом случае нам нужно добавить его в раздел "Связанные фреймворки и библиотеки" в нижней части общих настроек цели.
Если мы встраиваем библиотеку, мы отправляем библиотеку - как она есть - с нашим комплектом приложений. Это может быть удобно, например на компьютерах, работающих под управлением macOS, у которых, конечно, нет специальной сторонней библиотеки.
Итак, что насчет iOS? По сути, нет никакой возможности установить сторонние библиотеки на устройство iOS - плюс Apple очень строга в отношении толстых фреймворков (библиотек, созданных для нескольких платформ). Так должен ли быть способ доставки библиотек в любом случае? Так как для пользователя нашего приложения недостаточно просто связать их, какие еще у нас есть возможности?
Это где особая фаза сборки вступает в игру. В настройках проекта в разделе Фазы сборки есть ссылка на бинарный раздел с библиотеками. Этот шаг удаляет ненужные части из толстых платформ и оставляет необходимые части вместе с пакетом, чтобы он мог работать на устройстве, которое не зависит от зависимостей приложения.
Ответ 3
Для приложения target
Static Library
-Link
Static Framework
-Link
Dynamic Framework
-Embed