Ошибка Xcode 9: не удается найти cdtool
После установки Xcode 9 beta, Xcode 8 дает мне ошибку при компиляции проекта:
Невозможно найти cdtool в '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Xcode/Agents/cdtool': не удается найти время выполнения симулятора для платформы <DVTPlatform:0x7fd67af0a930:'com.apple.platform.iphonesimulator':<DVTFilePath:0x7fd67af0a7c0:'/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform'>>
.
Я подозреваю, что Xcode 9 изменил какое-то общее состояние с Xcode 8 (установил путь, перезаписал файл и т.д.). Но я пробовал удалить и оба Xcodes безрезультатно.
Проект использует Core Data, и он явно не работает при попытке скомпилировать xcdatamodel.
Я все еще могу скомпилировать и запустить под Xcode 9.
Ответы
Ответ 1
Инженер Apple потянулся об этом...
Те из вас, у кого возникли ошибки cdtool в Xcode 8, я подозреваю, что вы установили iOS 10.3 Simulator runtime из Xcode 9. На этой неделе было обнаружено, что это вызывает проблему с cdtool в Xcode 8.3.
Вы можете обойти это, переместив iOS 10.3.simruntime в сторону и перезапустив CoreSimulatorService (источник):
sudo mkdir /Library/Developer/CoreSimulator/Profiles/Runtimes/Backup
sudo mv /Library/Developer/CoreSimulator/Profiles/Runtimes/{,Backup/}iOS\ 10.3.simruntime
sudo killall -9 com.apple.CoreSimulator.CoreSimulatorService
Затем перезапустите Xcode, Simulator и т.д. Те из вас, кто удалил CoreSimulator.framework и, следовательно, не могут запускать Xcode.app, могут повторно установить CoreSimulator.framework с помощью
installer -pkg /Applications/Xcode-beta.app/Contents/Resources/Packages/XcodeSystemResources.pkg -target /
Ответ 2
Не работает для меня, потому что у меня также есть приложение Watch и получена ошибка в Watch SDK.
В итоге я удалил как Xcode 8, так и 9 Beta, удалив /Library/Developer
и ~/Library/Developer
. Затем переустановил Xcode 8 и работал.
Ответ 3
Вы также можете удалить папку 10.3 из
/Library/Developer/CoreSimulator/Profiles/Runtimes
Перезапустите Xcode, чтобы вступить в силу (может и не понадобиться).