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

前端 未结 9 1393
伪装坚强ぢ
伪装坚强ぢ 2021-01-29 19:40

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 mo

相关标签:
9条回答
  • 2021-01-29 19:48

    Try building from the source rather than installing using the curl command! For some reason nothing I did with the curl command worked for me including changing the UUID. So I deleted everything from the plugin folder and downloaded the master and did a build. Restart xCode and accept the dialog. Maybe this will help you.

    0 讨论(0)
  • 2021-01-29 19:49

    It turns out, Xcode now has a whitelist / blacklist of bundles you enable. You can check it from the Terminal by running:

    $ defaults read com.apple.dt.Xcode DVTPlugInManagerNonApplePlugIns-Xcode-6.3.2
    {
    allowed =     {
    };
    skipped =     {
        "com.mneorr.Alcatraz" =         {
            version = 1;
        };
        "com.onevcat.VVDocumenter-Xcode" =         {
            version = 1;
        };
        "com.travisjeffery.ClangFormat" =         {
            version = 1;
        };
    };}
    

    The bad news is that the prompt to load the bundles won’t show again, even if you reinstall Alcatraz. The fix is simple though, just delete the whitelist / blacklist by running:

    defaults delete com.apple.dt.Xcode DVTPlugInManagerNonApplePlugIns-Xcode-6.3.2
    

    and re-open Xcode to be prompted again (and this time make sure you click “Load Bundles”).

    Orignal post here: Re-enable Alcatraz on Xcode 6.3.2 or newer

    0 讨论(0)
  • 2021-01-29 19:51

    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"

    0 讨论(0)
  • 2021-01-29 19:54

    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".

    0 讨论(0)
  • 2021-01-29 19:54

    This has worked for me since Xcode 6.3.2

    http://pablin.org/2015/05/27/re-enable-alcatraz-on-xcode-6-dot-3-2-or-newer/

    0 讨论(0)
  • 2021-01-29 20:02

    Plugin compatibility key did not work for 6.3.2 / 6.4.b2

    Let's look into this thread: https://github.com/omz/Dash-Plugin-for-Xcode/issues/37 - they have an issue and solution.

    General summary: XCode did change a way to load plugins (custom plugins loads first), so it is necessary to make some code changes.

    0 讨论(0)
提交回复
热议问题