作为iOS界的攻城师,每一次水果发布新的Xcode开发版本时,我们都会跟进,然而那些好用的Xcode插件都会莫名的失灵。。。对此我各种百度,在这里,我将跟大家分享我是如何解决这些问题的。当然,我的方案是建立在前人的基础上完善的

方案一




  1. 首先查看 Xcode 的 UUID,在终端输入 defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID

    如图:
    Xcode升级导致插件失效的解决办法-b_重启

    DVTPlugInCompatibilityUUID
  2. 找到 Xcode 插件所在的目录
    回到Mac桌面,快捷键 ​​cmd + shift + g​​ 将下面的粘贴进去,跳到插件目录
    ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins
  3. 选择插件, 例如Alcatraz, 右键​​显示包内容​​, 打开​​info.plist​​如图:
    Xcode升级导致插件失效的解决办法-b_简书_02

    Alcatraz插件

    在plist文件中找到DVTPlugInCompatibilityUUIDs, 点击加号, 添加一个item, 对应的value值为输入刚才终端中获得的UUIDcmd + s保存
    如图:
    Xcode升级导致插件失效的解决办法-b_重启_03

    添加UUID
  4. 重启Xcode,弹出的对话框中选择​​Load Bundle​​如图:

Xcode升级导致插件失效的解决办法-b_重启_04

选择​​Load Bundle​

  1. OK,完成上面的操作后,插件就可以正常使用了

如果手贱误点​​Skip Bundle​​,找到该插件安装路径下,继续打开在 info.plist 删除与命令端里面同样的UUID号,一般都是会在最后一行,自己添加的那一行也要删除掉

保存之后重启Xcode

再次重复上面的步奏。在重启就再次出现了插件提示,注意这次自己的手喔~

高效快捷方法:

全在终端执行,依次输入如下命令

//获取DVTPlugInCompatibilityUUID字段
defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID

//将XXXX替换成刚刚获取的DVTPlugInCompatibilityUUID
find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add XXX


​备注:​​ XXX 替换为自己获得的 UUID 比如:F41BD31E-2683-44B8-AE7F-5F09E919790E

如图:


Xcode升级导致插件失效的解决办法-b_bundle_05

高效快捷不揍


最后记得重启 xcode, 然后选择 ​​Load Bundle​​ 加载就 OK 了.

方案二




  1. 关闭Xcode.
  2. 打开终端,输入:​​tail -f /var/log/system.log​
  3. 别关闭终端,此时重新打开Xcode,就会看到终端不断的打印出log内容
    ​​​[MT] PluginLoading: Required plug-in compatibility UUID9F75337B-21B4-4ADC-B558-F9CADF7073A7 for plug-in at path‘~/Library/ApplicationSupport/Developer/Shared/Xcode/Plug-ins/Alcatraz.xcplugin’ notpresent in DVTPlugInCompatibilityUUIDs​​从中就可以发现,你运行的Xcode的UUID是多少 *
  4. 接下来的步奏同方案一从​​步骤2​​开始往下进行即可