Ответ 1
Иногда предварительно собранные фреймворки повреждены в проекте зависимостей, поэтому их нужно создавать локально.
Кроме того, эти готовые интегрированные среды не поддерживают пошаговую отладку, поэтому, если вы не создадите их локально, вы не сможете использовать эту функцию со своими зависимостями.
Использование --no-use-binaries
компилирует проекты локально, используя ваш компилятор.
Выполнение команды update
может иногда приводить к ошибке, когда язык Swift обновляется до более новой версии, в то время как зависимость строится для более старой версии Swift (даже если она все еще совместима). Вы можете решить такие сценарии, используя этот флаг.
Недостатком является то, что компиляция проекта с флагом --no-use-binaries
занимает больше времени. Без флага вы запрашиваете готовую платформу, если она доступна.
Дополнительную информацию вы можете найти в этой проблеме Карфагена на GitHub.
Надеюсь, я прояснил ваши сомнения.