Why are my Xcode plugins (such as clang format) installed with Alcatraz no longer working after updating to new version of Xcode?

Pavel Smejkal picture Pavel Smejkal · May 21, 2015 · Viewed 16.3k times · Source

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

Answer

vomako picture vomako · May 21, 2015

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:

  • Wait for an update of the plugin that includes the new UUID of Xcode
  • If you do not want to wait (for example, if you installed a beta of Xcode and it would take too long for the plugins to be updated), you may manually add the new UUID of Xcode to the plugin (details on how to do this see below). Of course, there is no guarantee that your plugin will work then. If Xcode has changed so that it is really not compatible anymore, it will, of course, not work. However, oftentimes it will work.

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"