Why are my Xcode plugins (such as clang format) installed with Alcatraz no longer working after updating to new version of Xcode?
Today I updated to Xcode 6.3.2 and I can't run the Clang code formatting – it seems like it's not even installed. Everytime I update Xcode, I have to reinstall Alcatraz and most of the packages (why btw?) to make them work on the new version of Xcode.
This time I reinstalled all packages (like VVDocumenter, Color picker, etc), but the ClangFormat doesn't work – it doesn't even appear in the "Edit" menu. Any idea why?
btw. I tried to restart Xcode as well as the Mac itself :)
EDIT (Solution):
Solution for Xcode 6.3.x (If this does not work, use the general solution below.)
In terminal, enter the following:
find ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add 9F75337B-21B4-4ADC-B558-F9CADF7073A7
General solution
Get the new UUID via the terminal:
defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID
Add the new UUID to the DVTPlugInCompatibilityUUIDs key in the plugin (your xcplugin file --> show package contents --> Contents/Info.plist
Oftentimes, the following helps: Re-install Alcatraz, restart Xcode, de-install and re-install your plugin. Sometimes it helps to restart Xcode again. This worked for me.
If your plugin still does not show up, the problem is probably that the the compatibility key of your new Xcode is not yet included in the list of compatibility keys of your plugin.
Possible solutions:
To add the new UUID to the plugin:
In terminal, enter the following if you use Xcode 6.3.2:
find ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add E969541F-E6F9-4D25-8158-72DC3545A6C6
For other versions of Xcode, get the UUID of Xcode via the terminal: defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID
and use it to update the UUID in the find
command above.
[Instead of using the find
command above, you may also manually add the new UUID to the DVTPlugInCompatibilityUUIDs
key in the plugin package (your xcplugin
file --> show package contents --> Contents/Info.plist
)]
Sources: GitHub and post by "ianmasters"
After install Xcode 6.4, I choose "Skip Bundles",I can't find Alcatraz.
Fisrt I try the add UUID,but Alcatraz also no working;
Then try this:
defaults read com.apple.dt.Xcode DVTPlugInManagerNonApplePlugIns-Xcode-6.4
In iTerm show below:
allowed = {
};
skipped = {
"com.mneorr.Alcatraz" = {
version = 1;
};
};
but this file can't edit,so delete:
defaults delete com.apple.dt.Xcode DVTPlugInManagerNonApplePlugIns-Xcode-6.4
Next,I reinstall Alcatraz,Xcode show “Load Bundles" again,this time I will not make wrong,choose "Load Bundles".
You could use this script to update your Xcode's plugin after update (works fine with Xcode 7.3):
#!/bin/bash
xcodeUUID=`defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID`
echo $xcodeUUID
find ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add $xcodeUUID
or copy from my gist https://gist.github.com/MaciejGad/86302b6b8bdb1ee25115
链接地址: http://www.djcxy.com/p/85292.html上一篇: 传输安全性阻止了明文HTTP