Как проверить информацию в Carthage.resolved?

#ios #cocoapods #carthage

#iOS #cocoapods #карфаген

Вопрос:

Cocoapods внедряет шаг на этапе сборки, чтобы проверить, синхронизирована ли папка Pods с версиями в Podfile.lock. Это блокирует работу разработчика с устаревшими версиями модуля со следующей ошибкой:

ошибка: песочница не синхронизирована с Podfile.lock. Запустите «pod install» или обновите установку CocoaPods.

В Carthage есть Cartfile.resolved, но как он используется для проверки того, являются ли сборки Carthage свежими или устаревшими? Это что-то, что нужно применять вручную с помощью какого-либо скрипта?

Ответ №1:

Afaik руководства Carthage вообще не упоминают эту тему. Обычно при неудачной компиляции вам будет сообщено, что определенный фреймворк не найден, например, если вы переключились на новую ветку, где реализована новая функция, для которой требуется framework XYZ. Тогда вы знаете, что вам нужно бежать carthage bootstrap .

У нас есть скрипт, который работает так быстро, что вы даже можете поместить его в git-хук, чтобы он запускался автоматически после переключения ветвей. Часть carthage просто выполняет следующую команду:

 carthage bootstrap --use-ssh --use-xcframeworks --cache-builds
 

Это гарантирует, что carthage обновлен и работает быстро, поскольку использует кэшированные сборки. Работает нормально уже несколько лет.