Подтвердить что ты не робот

Плагин не работал с xcode 5.1

Я обновил xcode до версии 5.1. И все мои плагины не работали.

Я не видел никакого журнала ошибок, когда я их снова устанавливаю.

Как я могу определить результат установки обработки?

Я использую

  • Alcatraz.xcplugin

  • CocoaPods.xcplugin

  • KSImageNamed.xcplugin

  • XAlign.xcplugin

Я думаю, что есть какая-то проблема с xcode 5.1, потому что все мои плагины все еще работают на xcode 5.0.1

4b9b3361

Ответ 1

Я отредактировал файл Info.plist следующим образом:

Добавьте A2E4D43F-41F4-4FB9-BB94-7177011C9AED в ключ DVTPlugInCompatibilityUUIDs

Он работает для CocoaPods, Dash plugin. Я пытаюсь с другими.

Надеюсь, что это сработает для вас!

Источник: https://github.com/omz/Dash-Plugin-for-Xcode/commit/989b3aad46f5a30efacd7c23432ce7343d84cc58

Ответ 2

Основываясь на том, что сказал Туан (СПАСИБО!):

  • перейдите в папку ваших плагинов (library/Application Support/Developer/Shared/Xcode/Plug-ins)
  • Щелкните правой кнопкой мыши на подключаемом модуле и выберите отображение содержимого пакета.
  • Откройте файл info.plist и найдите DVTPlugInCompatibilityUUID и разверните этот раздел.
  • Нажмите кнопку + и вставьте UUID сверху.
  • Сохраните файл и перезапустите Xcode.
  • Ваши плагины снова появятся.

Повторите для любых подключаемых модулей.

  • Xcode 6 UUID
    C4A681B0-4A26-480E-93EC-1218098B9AA0

  • Xcode 6.2 UUID
    A16FF353-8441-459E-A50C-B071F53F51B7

  • Xcode 6.3 UUID
    9F75337B-21B4-4ADC-B558-F9CADF7073A7

  • Xcode 6.3.2 UUID
    E969541F-E6F9-4D25-8158-72DC3545A6C6

  • Xcode 7.3 UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C

Как найти UUID?

Откройте терминал и вставьте следующее:

defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID

Ответ 3

Вы должны добавить текущий UUID XCode в plugin DVTPlugInCompatibilityUUID, чтобы заставить плагин работать, используйте эту команду:

find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add `defaults read /Applications/Xcode.app/Contents/Info.plist DVTPlugInCompatibilityUUID`
  • find каждый плагин Info.plist
  • default read текущий UUID XCode
  • default write текущий UUID XCode в плагин DVTPlugInCompatibilityUUIDs

Ответ 4

Я создал простую оболочку script, которая добавляет поставляемый UUID всем установленным плагинам:

#!/bin/bash
cd "${HOME}/Library/Application Support/Developer/Shared/Xcode/Plug-ins"
for plugin in *.xcplugin; do
    /usr/libexec/PlistBuddy -c "Add :DVTPlugInCompatibilityUUIDs: string $1" "${plugin}/Contents/Info.plist"
done

Ответ 5

Я написал расширение редактора для решения этой проблемы. Теперь вы можете исправить эту ошибку простым щелчком.

введите описание изображения здесь

введите описание изображения здесь

Ссылка для скачивания: Dropbox

Ответ 6

Когда это произойдет, закройте XCode, откройте терминал и введите:

tail -f /var/log/system.log

затем снова откройте XCode. Если есть проблема совместимости с любым плагином, вы увидите такой журнал, как этот:

[MT] PluginLoading: Требуемая совместимость с подключаемым модулем UUID C4A681B0-4A26-480E-93EC-1218098B9AA0 для подключаемого модуля по пути '~/Library/Поддержка приложений/Developer/Shared/Xcode/Плагины/Lin.xcplugin 'не присутствуют в DVTPlugInCompatibilityUUIDs

Итак, что вы должны сделать, чтобы исправить проблемы совместимости, просто добавьте зарегистрированные идентификаторы UUID в файлы Info.plist с поврежденными плагинами, сгруппированные по ключевому слову DVTPlugInCompatibilityUUIDs (в приведенном выше примере C4A681B0 -4A26-480E-93EC-1218098B9AA0)

Вы, вероятно, будете делать это в каждой новой версии XCode, так как Apple официально не поддерживает плагины.