欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

教你如何解决XCODE升级后插件不能用问题

程序员文章站 2022-05-27 09:10:32
摘要:xcode升级后打开xcode会提示loadbundle或skipbundle,一般我们选择loadbudle,xcode插件依然有效,选择skipbundle,xc...

摘要:xcode升级后打开xcode会提示loadbundle或skipbundle,一般我们选择loadbudle,xcode插件依然有效,选择skipbundle,xcode插件会失效。有人想装两个版本的xcode,后装的那个也会出现插件失效的情况。

一.xcode插件失效原因

  并不是升级或重装后原本的插件被删掉了,其实插件还在这个目录~/library/application support/developer/shared/xcode/plug-ins 。之所以插件失效,是因为每个插件只供特定uuid的xcode使用,更新后uuid改变,于是便不能正常使用。

二.解决办法

  1.查看当前xcode的uuid

    在终端执行defaults read /applications/xcode.app/contents/info dvtplugincompatibilityuuid,会得到一串 uuid 码。可能你的xcode不是你安装的,而是直接拷贝别人安装好的xcode到你的应用程序中,那么这个命令得不到xcode的uuid,会出现如下图的问题:

教你如何解决XCODE升级后插件不能用问题

另外一种办法也能得到xcode的uuid,在应用程序中找到xcode,右键选择显示包内容,找到info.plist文件打开找到dvtplugincompatibilityuuid对应的值就是我们要的uuid

教你如何解决XCODE升级后插件不能用问题

  2. 修改插件的uuid为当前xcode的uuid

    找到这个目录~/library/application support/developer/shared/xcode/plug-ins,找到对应的插件,右键显示包内容,找到info.plist文件打开找到dvtplugincompatibilityuuids的项目,添加一个item,value的值为之前xcode的uuid,保存.

  3.重启 xcode 之后会提示"load bundle"、 "skip bundle",这里必须选择"load bundle",不然插件无法使用。如果又不小心点了skip bundle,那就删掉你刚才在插件plist文件里添加的那行item,然后重启xcode,然后再重新刚才的那几步。至此问题已经完美解决。那么有人会问:如果很多个插件都失效,不想一个一个的改,有没有快速的方法,有,请看下一步。

三.批量更新插件的 dvtplugincompatibilityuuid 的命令(建议使用sudo方式执行)

  在终端不能用命令defaults read /applications/xcode.app/contents/info dvtplugincompatibilityuuid得到uuid的,此方法不适用。批量修改命令为

复制代码 代码如下:

find ~/library/application\ support/developer/shared/xcode/plug-ins -name info.plist -maxdepth 3 | xargs -i{} defaults write {} dvtplugincompatibilityuuids -array-add `defaults read /applications/xcode.app/contents/info dvtplugincompatibilityuuid`

好了,问题结束了。