为什么在升级到新版本的Xcode后,安装Alcatraz的Xcode插件(如clang格式)不再有效?

今天我更新到Xcode 6.3.2,我无法运行Clang代码格式 - 它似乎甚至没有安装。 每次我更新Xcode时,我必须重新安装Alcatraz和大部分软​​件包(为什么是顺便说一句?),以使它们能够在新版本的Xcode上运行。

这次我重新安装了所有软件包(如VVD对象,颜色选择器等),但ClangFormat不起作用 - 它甚至不出现在“编辑”菜单中。 任何想法为什么?

顺便说一句。 我尝试重新启动Xcode以及Mac本身:)

编辑(解决方案):

Xcode 6.3.x的解决方案(如果这不起作用,请使用下面的通用解决方案。)

在终端中,输入以下内容:

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

一般解决方案

通过终端获取新的UUID:

defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID

将新的UUID添加到插件中的DVTPlugInCompatibilityUUIDs项(您的xcplugin文件 - > show package contents - > Contents / Info.plist


通常情况下,以下方面会有所帮助:重新安装Alcatraz,重新启动Xcode,重新安装并重新安装插件。 有时它有助于重新启动Xcode。 这对我有效。

如果你的插件仍然没有显示出来,问题可能是你的新Xcode的兼容性键还没有包含在插件的兼容性键列表中。

可能的解决方案:

  • 等待包含Xcode的新UUID的插件更新
  • 如果您不想等待(例如,如果您安装了Xcode的测试版并且插件更新时间过长),则可以手动将Xcode的新UUID添加到插件中(有关如何执行的详细信息这见下文)。 当然,不能保证你的插件能够工作。 如果Xcode发生了变化,以至于它实际上不再兼容,它当然不起作用。 但是,它通常会起作用。
  • 要将新的UUID添加到插件:

    在终端中,如果您使用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
    

    对于其他版本的Xcode,通过终端获取Xcode的UUID: defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID并用它在上面的find命令中更新UUID。

    [不要使用上面的find命令,也可以手动将新的UUID添加到插件包中的DVTPlugInCompatibilityUUIDs项( xcplugin文件 - > show package contents - > Contents/Info.plist )]

    来源:GitHub和“ianmasters”发布


    安装Xcode 6.4后,我选择“Skip Bundles”,我找不到Alcatraz。

    Fisrt我尝试添加UUID,但恶魔岛也没有工作;

    然后试试这个:

    defaults read com.apple.dt.Xcode DVTPlugInManagerNonApplePlugIns-Xcode-6.4 
    

    在iTerm中显示如下:

    allowed =     {
    };
    skipped =     {
        "com.mneorr.Alcatraz" =         {
            version = 1;
        };
    };
    

    但是这个文件不能编辑,所以删除:

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

    接下来,我重新安装Alcatraz,Xcode再次显示“Load Bundles”,这次我不会犯错,选择“Load Bundles”。


    您可以使用此脚本在更新后更新您的Xcode插件(适用于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
    

    或从我的要点复制https://gist.github.com/MaciejGad/86302b6b8bdb1ee25115

    链接地址: http://www.djcxy.com/p/85291.html

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

    下一篇: How to create a function in a cshtml template?