每当Xcode升级之后,都会导致原有的Xcode插件不能使用,解决办法
每当Xcode升级之后,都会导致原有的Xcode插件不能使用,这是因为每个插件的Info.plist中记录了该插件兼容的Xcode版本的DVTPlugInCompatibilityUUID,而每个版本的Xcode的DVTPlugInCompatibilityUUID都是不同的。如果想让原来的插件继续工作,我们就得将新版Xcode的DVTPlugInCompatibilityUUID加入到每一个插件的Info文件中,手动添加的话比较费时间还可能出错,所以我写了一个脚本来做这件事。
如何使用
- 创建refreshPluginsAfterXcodeUpgrading.sh
- 运行 './refreshPluginsAfterXcodeUpgrading.sh'
- 重启Xcode
注意
该脚本依赖defaults命令行工具
脚本创建方法:
打开终端,输入:
cd Desktop/
然后创建文件:
touch refreshPluginsAfterXcodeUpgrading.sh
然后去桌面打开refreshPluginsAfterXcodeUpgrading.sh这个文件,并把一下代码复制进去:
#!/bin/bash
#获取当前版本Xcode的DVTPlugInCompatibilityUUID
UUID=$(defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID)
echo Xcode DVTPlugInCompatibilityUUID is $UUID
#遍历每一个Xcode插件,将UUID写入插件的兼容列表中
for MyPlugin in ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/*
do
defaults write "$MyPlugin"/Contents/Info DVTPlugInCompatibilityUUIDs -array-add $UUID
echo write DVTPlugInCompatibilityUUID to $MyPlugin succeed!
done
然后回到终端里修改这个文件的权限:
chmod 755 refreshPluginsAfterXcodeUpgrading.sh