20

I've updated xcode to version 5.1. And all my plugins didn't work.

I didn't see any error log when I install them again.

How can I detect result of installing processing?

I'm using

  • Alcatraz.xcplugin

  • CocoaPods.xcplugin

  • KSImageNamed.xcplugin

  • XAlign.xcplugin

I think there's some problem with xcode 5.1 because all my plugins still work on xcode 5.0.1

4

6 回答 6

48

根据 Tuan Do 所说的(谢谢!):

  • 导航到您的插件文件夹 ( library/Application Support/Developer/Shared/Xcode/Plug-ins)
  • 右键单击插件并选择显示包内容
  • 打开 info.plist 文件并找到 DVTPlugInCompatibilityUUIDs 并展开该部分。
  • 单击 + 按钮并粘贴上面的 UUID。
  • 保存文件并重新启动 Xcode。
  • 您的插件将再次出现。

对任何插件重复此操作。

  • Xcode 6 UUID
    C4A681B0-4A26-480E-93EC-1218098B9AA0

  • Xcode 6.2 UUID
    A16FF353-8441-459E-A50C-B071F53F51B7

  • Xcode 6.3 UUID
    9F75337B-21B4-4ADC-B558-F9CADF7073A7

  • Xcode 6.3.2 UUID
    E969541F-E6F9-4D25-8158-72DC3545A6C6

  • Xcode 7.3 UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C

如何找到 UUID?

打开终端并粘贴以下内容:

defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID
于 2014-03-12T20:40:22.323 回答
24

我像这样编辑了 Info.plist 文件:

添加A2E4D43F-41F4-4FB9-BB94-7177011C9AED到密钥DVTPlugInCompatibilityUUIDs

它适用于 CocoaPods、Dash 插件。我正在和其他人一起尝试。

希望这对你有用!

来源: https ://github.com/omz/Dash-Plugin-for-Xcode/commit/989b3aad46f5a30efacd7c23432ce7343d84cc58

于 2014-03-11T11:51:28.897 回答
6

您应该将 XCode 的当前 UUID 添加到插件的 DVTPlugInCompatibilityUUIDs 以使插件工作,使用此命令:

find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add `defaults read /Applications/Xcode.app/Contents/Info.plist DVTPlugInCompatibilityUUID`
  1. find每个插件的 Info.plist
  2. default readXCode 的当前 UUID
  3. default writeXCode 的当前 UUID 到插件的 DVTPlugInCompatibilityUUIDs
于 2015-04-11T02:05:04.170 回答
1

我创建了一个简单的 shell 脚本,将提供的 UUID 添加到所有已安装的插件中​​:

#!/bin/bash
cd "${HOME}/Library/Application Support/Developer/Shared/Xcode/Plug-ins"
for plugin in *.xcplugin; do
    /usr/libexec/PlistBuddy -c "Add :DVTPlugInCompatibilityUUIDs: string $1" "${plugin}/Contents/Info.plist"
done
于 2015-05-19T10:28:06.100 回答
0

我写了一个编辑器扩展来解决这个问题。现在,您只需单击一下即可修复此错误。

在此处输入图像描述

在此处输入图像描述

下载链接:Dropbox

于 2015-08-19T05:51:45.987 回答
-1

发生这种情况时,退出 XCode,打开终端并输入:

tail -f /var/log/system.log

然后再次打开 XCode。如果任何插件存在兼容性问题,您将看到如下日志:

[MT] PluginLoading:路径 '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Lin.xcplugin' 的插件所需的插件兼容性 UUID C4A681B0-4A26-480E-93EC-1218098B9AA0不存在在DVTPlugInCompatibilityUUID中

因此,解决兼容性问题所需要做的就是将记录的 UUID 添加到损坏的插件的 Info.plist 文件中,分组在关键DVTPlugInCompatibilityUUIDs中(在上面的示例中,C4A681B0-4A26-480E-93EC-1218098B9AA0

您可能会在每个新的 XCode 版本中都这样做,因为 Apple 不正式支持插件。

于 2014-10-01T14:39:13.563 回答