XZ_iOS之更新Xcode插件技巧

来源:互联网 发布:可利电气经营数据 编辑:程序博客网 时间:2024/05/22 17:08

很多时候,我们更新了Xcode之后,发现插件都不能用了,

为什么升级Xcode之后,插件就失效了?
  1. 每个版本的Xcode都由一个UUID;
  2. 插件如果要想在Xcode上运行,必须指定支持的UUID;

前往-资源库/Application Support/Developer/Shared/Xcode/Plug-ins 
查看Xcode插件

右击 "VVDocumenter-Xcode.xcplugin”-显示包内容-Contents-Info.plist 双击打开,里面有一个数组“DVTPlugInCompatibilityUUIDs”,在这个数组里面是所有支持的Xcode的UUID,如果更新Xcode之后不支持了,可以把最新的Xcode的UUID填进来既可。
下图是 "VVDocumenter-Xcode.xcplugin”中支持的Xcode版本的UUID:

最新的Xcode的UUID的查看方式:Finder-应用程序-Xcode-显示包内容-Contents-Info.plist 中的DVTPlugInCompatibilityUUID”对应的就是

手动修改
但是,如果Xcode插件较多,每一个都这么整的话,比较费事,我们可以使用命令行,一句即可
把读取到Xcode的UUID添加到所有插件设置中

find ~/Library/ApplicationSupport/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`

当命令行执行完毕,我们发现插件中Info.plist多了一行,那就说明成功了。
Xcode完全退出,然后重启一下,界面会出现Load Bundles和Skip Bundles,注意选择Load Bundles!

如果点击了 Skip Bundles,可以在前往-资源库-Application Support-Developer-Shared-Xcode-Plug-ins中右键第三方资源库-显示包内容-Contents-Info.plist 打开,找到DVTPlugInCompatibilityUUIDs这一项,删除最后一个,然后将Xcode全部退出,然后再打开Xcode,在命令行中再次执行添加Xcode的UUID的语句,然后再全部退出Xcode,再重启,这时候就会出现Load Bundles按钮了。
  
说明:
查找安装插件的 Info.plist 文件
find ~/Library/ApplicationSupport/Developer/Shared/Xcode/Plug-ins -name Info.plist

向前一步命令结果的 Info.plist 中写入数据,向  DVTPlugInCompatibilityUUID 数据添加数据 
xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add

其中 ‘|' 是管道,将前一个命令的结果当做参数传递给后一个命令

之前我写的时候,一直不对,明明都是对的,后来发现,原来就是一个符号之差造成的,这个符号(`)不对造成的,这个符号叫反单引号,在苹果键盘上,切换到英文输入法下,按住fn键和~键即可。如下图: