Xcode6之后插件失效以及安装失败详解
Xcode的插件对于开发者来说无疑是开发中的一大利器,让开发者能够将更多的时间和精力放在代码上面。但是开发者都会遇到一个问题,就是每次Xcode一更新,之前好不容易装好的插件全部不能用了,需要重新安装一遍,有时候还会因为某种原因导致即便安装了插件也不能使用的情况。在这里,我将跟大家分享我是如何解决这些问题的。当然,我的方案是建立在前人的基础上完善的。
在这里,我先分析插件安装失效的一些原因:
系统安装了不止一个Xcode开发工具
开发者未正确的将自己的DVTPlugInCompatibilityUUID添加到插件中
成功安装了插件,但是却在Xcode识别插件的时候,开发者选择了Skip Bundle这些插件导致
下面,我将把我安装插件的过程以及如何让插件正常使用做一个详细的介绍。
下载插件以及编译插件的过程我就不再累赘,想必大家都懂,我就直奔主题了。我们以ColorSense这款插件为例。
首先,我们要先明确我们的插件是要安装到哪个版本的Xcode上面,然后到拿到对应Xcode的DVTPlugInCompatibilityUUID
现在我想在我的Xcode 6.4上面安装这款插件,那么我需要拿到Xcode 6.4的DVTPlugInCompatibilityUUID
1,右键Xcode,选择显示包内容
2,然后找到Contents/Info.plist路径下的Info.plist文件
3,双击Info.plist文件,找到DVTPlugInCompatibilityUUID,将对应的7FDF5C7A-131F-4ABB-9EDC-8C5F8F0B8A90复制
4,接下来到ColorSense插件所在目录下
5,右键插件,选择显示包内容。然后找到Contents/Info.plist路径下的Info.plist文件
6,双击Info.plist文件,将刚刚复制的7FDF5C7A-131F-4ABB-9EDC-8C5F8F0B8A90增加到DVTPlugInCompatibilityUUID字段里面。保存
7,重新打开Xcode 6.4,此时会弹窗提示用户是否加载该插件。很多用户就是在这一步因为选择了Skip Bundle导致不能成功使用插件。
【注意】正确的做法应该是选择Load Bundle选项才对
是不是这样就完了?肯定没有,通过上面的步骤,我想大家已经知道了操作流程。那么接下来,讲解一个高效率做法。
终端指令实现
//获取DVTPlugInCompatibilityUUID字段
defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID
//将XXXX替换成刚刚获取的DVTPlugInCompatibilityUUID
find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add XXXX
执行这两个指令,即可实现上面繁琐的过程。是不是更加方便?