Xcode的各种插件极大地提高了开发效率,比如我常用的FuzzyAutocomplete(添加模糊匹配来提高Xcode代码自动补全功能,开发者无需遵循从头匹配的原则,只要记得方法里某个关键字即可进行匹配)、 VVDocument、KSImageNamed、Peckham(可以在任意位置通过快捷键添加#import 语句)、XAlign(代码对齐),但是升级Xcode导致插件失效这个问题一定都困扰过iOS新手们,解决方法其实非常简单。
原理
Xcode插件的安装目录为
~/Library/Application Support/Developer/Shared/Xcode/Plug-ins
进入这个目录选中其中一个插件,右键->显示包内容
![](http://upload-images.jianshu.io/upload_images/1070332-5344fa2713ec38e3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
插件目录.png
接着打开Contents目录->info.plist
![](http://upload-images.jianshu.io/upload_images/1070332-92f455086a6c6dd8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
info.plist.png
从上图可以看到DVTPlugInCompatibilityUUIDs数组,这个数组包含了插件所兼容的Xcode的DVTPlugInCompatibilityUUID列表,每个版本的Xcode的DVTPlugInCompatibilityUUID 都是不同的,Xcode更新之后,插件并不会自动更新这个数组,导致插件失效,所以我们把最新版Xcode的DVTPlugInCompatibilityUUID添加进这个数组即可。
步骤
1.打开终端,获取DVTPlugInCompatibilityUUID
defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID
如图,终端会输出获取到的DVTPlugInCompatibilityUUID
![](http://upload-images.jianshu.io/upload_images/1070332-4a7093033b745c36.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
获取DVTPlugInCompatibilityUUID.png
2.将这个UUID加入各个插件的info.plist
find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C
![](http://upload-images.jianshu.io/upload_images/1070332-1a02a34a3da0e064.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
增加UUID.png
3.重启Xcode,弹出警告选择Load Bundles
![](http://upload-images.jianshu.io/upload_images/1070332-7fefa4b04e293aa7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
警告.png
经过这三个步骤,插件又能重新使用了。
文/周焕强(简书作者)
原文链接:http://www.jianshu.com/p/42dd9f014394
著作权归作者所有