xcode插件的管理真的很让人受伤,升级xcode后莫名的不能用,查找资料后找到解决方案:
find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth3| xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add `defaultsread/Applications/Xcode.app/Contents/Info.plist DVTPlugInCompatibilityUUID`
原理是:
Xcode 的插件放置在~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins目录下,为 .xcplugin 格式。通过 Show Content 可以看到 xcplugin 中存在一个 Info.plist,其中有一项为DVTPlugInCompatibilityUUIDs,而这就是插件失效的原因。
由于 Apple 没有公开插件开发的相关资料,这里我只能通过命名跟值猜测 DVTPlugInCompatibilityUUIDs 的作用:插件通过 DVTPlugInCompatibilityUUIDs 来指定能够运行此插件的 Xcode 版本。因此,DVTPlugInCompatibilityUUIDs 中存放的是 Xcode 版本对应的 UUID,Xcode 在启动加载控件时,将当前 UUID 同插件 Info.plist 中 DVTPlugInCompatibilityUUIDs 存放的 UUID 数组进行匹配,如果没有匹配项,说明此插件无法在该版本的 Xcode 运行,插件也就失效了。
引用:http://joeshang.github.io/2015/04/10/fix-xcode-upgrade-plugin-invalid/
但是执行上述命令后,有些插件还是不好使,不知道是不是安装多个xcode冲突造成的,
最后没有办法我只好clone插件到本地,运行下。
如果有人解决了上述问题 可以分享下经验。