【问题标题】:The plugin didn't work on xcode 5.1该插件不适用于 xcode 5.1
【发布时间】:2014-03-11 11:24:17
【问题描述】:

我已将 xcode 更新到 5.1 版。 而且我所有的插件都不起作用。

当我再次安装它们时,我没有看到任何错误日志。

如何检测安装处理的结果?

我正在使用

  • Alcatraz.xcplugin

  • CocoaPods.xcplugin

  • KSImageNamed.xcplugin

  • XAlign.xcplugin

我认为 xcode 5.1 存在一些问题,因为我所有的插件仍然可以在 xcode 5.0.1 上运行

【问题讨论】:

    标签: plugins xcode5.1


    【解决方案1】:

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

    • 导航到您的插件文件夹 (library/Application Support/Developer/Shared/Xcode/Plug-ins)
    • 右击插件,选择显示包内容
    • 打开 info.plist 文件并找到 DVTPlugInCompatibilityUUID 并展开该部分。
    • 单击 + 按钮并粘贴上面的 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
    

    【讨论】:

    • 非常好的答案在一分钟内解决了我的问题。谢谢一声
    【解决方案2】:

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

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

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

    希望它对你有用!

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

    【讨论】:

    • 非常感谢!有用。但我不明白这是什么意思。你能解释更多吗?
    【解决方案3】:

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

    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 read XCode 的当前 UUID
    3. default write XCode 的当前 UUID 到插件的 DVTPlugInCompatibilityUUIDs 中

    【讨论】:

      【解决方案4】:

      我创建了一个简单的 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
      

      【讨论】:

      • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。
      • @AlexB 谢谢提示,下次不会再犯这个错误了
      【解决方案5】:

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

      下载链接:Dropbox

      【讨论】:

        【解决方案6】:

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

        tail -f /var/log/system.log
        

        然后再次打开 XCode。如果任何插件存在兼容性问题,您会看到类似这样的日志:

        [MT] PluginLoading:路径 '~/Library/Application Support/Developer/Shared 的插件所需的插件兼容性 UUID C4A681B0-4A26-480E-93EC-1218098B9AA0 DVTPlugInCompatibilityUUIDs

        中不存在 /Xcode/Plug-ins/Lin.xcplugin'

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

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

        【讨论】:

          猜你喜欢
          • 2015-09-18
          • 1970-01-01
          • 2012-03-28
          • 1970-01-01
          • 2020-06-19
          • 1970-01-01
          • 1970-01-01
          • 2019-06-23
          • 1970-01-01
          相关资源
          最近更新 更多