Сообщение об ошибке FileMerge при использовании с Git difftool - программирование
Подтвердить что ты не робот

Сообщение об ошибке FileMerge при использовании с Git difftool

Я использую FileMerge как инструмент difftool для Git. Недавно я начал получать странное сообщение об ошибке:

Unable to load platform at path /Applications/Xcode.app/Contents/
   Developer/Platforms/iPhoneOS.platform

FileMerge по-прежнему выполняет diff как раз тонкий (хотя загрузка занимает немного больше времени). Любая идея, что вызывает это, и как его исправить?

4b9b3361

Ответ 1

У меня была точно такая же проблема при использовании FileMerge в качестве инструмента diff для svnX. Следующая команда решила мою проблему:

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer/

Что все.

Ответ 2

Это тоже проблема с Mercurial: Невозможно загрузить платформу по пути

Если вы не разрабатываете iOS, вы можете просто удалить эту папку. Если вы это сделаете, вам придется переустановить XCode. (Если вы не можете понять, как переустановить именно эту платформу).

Я думаю, что вам лучше просто переустановить XCode, так как есть другие вопросы SO, касающиеся проблем, связанных с платформой (не это конкретно, но похожее по своей природе), что все, кажется, указывают на переустановку XCode:

XCODE не загружает платформу

и

Xcode не открывается: "Платформа Mac OS X отсутствует"

.... так что начните переустанавливать и идите за пивом!

Ответ 3

для меня, преобразование всех *.platform/Info.plist из двоичного в xml1 устранило проблему. странно...

Ответ 4

Я использую XCode для моего $ git mergetool и получил аналогичные ошибки. Для меня это было связано с компонентами XCode/симуляторами и документами.

Перейдите в раздел XCode → Настройки → Загрузки и убедитесь, что у вас есть последние компоненты и документы.

Я только здесь, потому что обновляюсь до XCode 7, и у меня возникают подобные ошибки из-за документации Apple Watch в сочетании с моим работодателем, позволяющим истекать срок действия нашей лицензии dev...

Ответ 5

Чтобы развернуть на user3761183 ответ, после немного googling Я побежал:

sudo plutil -convert xml1 /Applications/Xcode.app/Contents/Developer/Platforms/*.platform/Info.plist

Это избавило от всех ошибок Unable to load platform at path /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform. Я все еще получаю ошибки:

Не удалось загрузить '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Xcode/Specifications/Core Build System.xcspec'. Причина: Ошибка домена = NSCocoaErrorDomain Code = 3840 "Неожиданный символ b в строке 1" UserInfo = {NSDebugDescription = Неожиданный символ b в строке 1, kCFPropertyListOldStyleParsingError = Ошибка домена = NSCocoaErrorDomain Code = 3840 "Неожиданный"; или '=' после ключа в строке 1 "UserInfo = {NSDebugDescription = Unexpected ';' или '=' после ключа в строке 1}}.

Но я тоже получал их изначально, поэтому, если вы этого не сделаете, приведенная выше команда должна решить ваши проблемы.

EDIT: удалено комментарий о Install addtional required components, который ничего не сделал. Следующее предположение - переустановка XCode, как предлагает Джонатан Ф.

FWIW Я уже пробовал sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer/ и ничего не делал.

Ответ 6

Что касается проблемы, выделенной jim в его ответе, связанной с ошибкой "Unexpected character b at line 1", я обнаружил, что файлы Core Build System.strings и Native Build System.strings по пути, указанному сообщением об ошибке, то есть /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Xcode/Specifications/ находятся в некотором двоичном виде формат. Парсер не ожидает этого и жалуется на character b слова bplist, открывающего файл. Может быть, игра с plutil, как в "проблемах с платформой", о которых спрашивал OP, может помочь. Я просто заменил два файла версиями из Xcode 6 dmg, где они находятся в формате ASCII, и проблема исчезла