每次更新Xcode都会让原来插件无效,这样对开发来说非常的不方便。首先导致插件失效的原因就是UUID,Xcode本身就有一个UUID,每次更新都会改变这个UUID,每个插件都有自己的info.plist文件在里面有一个DVTPlugInCompatibilityUUID,在里面包含了Xcode的UUID,就好像证书一样,因为更新替换了原来Xcode的UUID,然后证书失效,导致没法使用。
通过查询网上各种方法,自己整理了一个完整的方法
解决方法:
1.在终端输入:
defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID
如图所示,F41BXXXXX那个就是Xcode的当前的UUID
2.在终端上输入如下代码:
find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add 你终端获得的当前UUID
替换那段中文"你终端获得的当前的UUID"为你上面获得的当前的UUID,然后敲击回车,执行这段代码即可。
3.退出Xcode重启Xcode,重启 Xcode 之后会提示"Load bundle"、"Skip Bundle",这里必须选择"Load bundle",不然插件无法使用!这里必须选择"Load bundle",不然插件无法使用!这里必须选择"Load bundle",不然插件无法使用!
原理:
在打开fidder情况下,快捷键shift+g,然后输入~/Library/Application Support/Developer/Shared/Xcode/Plug-ins,可以快速进入插件锁在目录,里面都是你安装的各种插件,可以随便选择一个,然后右键选择显示包内容,找到info.plist文件,打开它;在DVTPlugInCompatibilityUUID这个分支里面都是你的插件的UUID,每次更新Xcode的时候,uuid改变了,这边却没有自动添加上去。你也可以手动添加一个item,写上当前xcode的uuid,如下图:
而上面步骤3给出的代码的意思就是是查找到~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins目录下所有info.plist的文件并且在那文件的 DVTPlugInCompatibilityUUIDs下添加UUID。