Возможно, вы можете сделать несколько проверок, чтобы немного его сузить:
Версия карфагена
carthage version
должна выдать
0.31.2
Установлено несколько Xcode
xcode-select -p
должно дать
/Applications/Xcode.app/Contents/Developer
для стандартной установки.
Симулятор
xcrun simctl list devices --json
Это должно привести к выводу списка вроде:
{
"devices" : {
"iOS 12.1" : [
{
"availability" : "(available)",
"state" : "Shutdown",
"isAvailable" : true,
"name" : "iPhone 5s",
"udid" : "1A6959A0-C10F-474B-96C5-7E8955FBDD80",
"availabilityError" : ""
},
...
Если нет симуляторов, добавьте один с использованием Xcode.
Если есть записи, проверьте, есть ли запись isAvailable с true
в качестве значения:
"isAvailable" : true,
Если нет, проверьте установку XCode.
Удаление кэшей
Можно также попытаться
- выйти из Xcode
- удалить кэши для папки данных, полученных из Карфагена и Xcode
Как всегда при использовании rm -rf
, вы должны быть осторожны:
rm -rf ~/Library/Caches/org.carthage.CarthageKit
rm -rf <your project folder>/Carthage
xcrun simctl delete unavailable
Затем повторите попытку:
carthage update --no-use-binaries --platform iOS
Отладка Карфагена
Приятной особенностью Carthage является то, что он с открытым исходным кодом и даже написан на Swift.
Так что для его отладки мы можем:
- выйти из Xcode
- создайте папку в терминале и перейдите в папку
Затем:
git clone https://github.com/Carthage/Carthage.git
cd Carthage
git checkout 0.31.2
make bootstrap
open Carthage.xcworkspace
После этого нам нужно будет ввести аргументы командной строки.Для этого:
- в Xcode используйте
- слева выберите «Выполнить / отладить»
- справа выберите вкладку «Аргументы»
- измените «Аргументы, переданные при запуске» на
update --no-use-binaries --platform iOS
- перейти на вкладку «Опции»
- ввести в качестве «Рабочего каталога» путь, в котором находится файл Cartfile
Наконец:
- Открыть Carthage / Source / CarthageKit / Simulator.swift
- установите точки останова в методе
selectAvailableSimulator
Тогда вы сможете отладить, что идет не так.
Если все в порядке, это будет выглядеть так:
Если при запуске из XCode не было ошибок, дайте ему полностью запуститься в XCode без точки останова и дайте ему время для компиляции.
Если обновление Carthage выполнено успешноиз проекта XCode затем удалите текущую установку Carthage, как описано здесь.
Как удалить Carthage из OS X?
Thru в Терминале перейдите в папку проекта Carthage, где находится Makefile, и наберите:
'make install'
После этого вы можете попробовать его снова из командной строки.Это должно работать!