Плагин не работал с xcode 5.1
Я обновил xcode до версии 5.1.
И все мои плагины не работали.
Я не видел никакого журнала ошибок, когда я их снова устанавливаю.
Как я могу определить результат установки обработки?
Я использую
-
Alcatraz.xcplugin
-
CocoaPods.xcplugin
-
KSImageNamed.xcplugin
-
XAlign.xcplugin
Я думаю, что есть какая-то проблема с xcode 5.1, потому что все мои плагины все еще работают на xcode 5.0.1
Ответы
Ответ 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 официально не поддерживает плагины.