Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

like image 510
Pavel Smejkal Avatar asked May 20 '15 22:05

Pavel Smejkal


People also ask

How do I install Xcode plugins?

Usage. Hit ⌘ + ⇧ + 9 or use this menu to open up the Package manager. Click install on any package you want installed and afterwards restart Xcode again.


1 Answers

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"

like image 183
vomako Avatar answered Sep 24 '22 19:09

vomako