当前位置: 首页 > 编程笔记 >

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

景志
2023-03-14
本文向大家介绍教你如何解决XCODE升级后插件不能用问题,包括了教你如何解决XCODE升级后插件不能用问题的使用技巧和注意事项,需要的朋友参考一下

摘要: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的uuid,在应用程序中找到Xcode,右键选择显示包内容,找到Info.plist文件打开找到DVTPlugInCompatibilityUUID对应的值就是我们要的uuid

  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`


好了,问题结束了。

 类似资料:
  • 昨天晚上我把Xcode SDK升级到第10版,然后发现我无法构建。 我得到了这个错误: 找不到生成输入文件:'/users/call01/library/developer/xcode/deriveddata/comp-lite-apps-gytvmossqptokeafrddvvmnlzadk/Build/products/debug-iphoneos/sg11.app/sg11 这在我升级之前

  • 我正在尝试安装开源Jenkins的2.162版本。Jenkins成功地出现了,但是,当我去管理Jenkins->Manage插件时,我看到以下错误:

  • 本文向大家介绍解决Angular.js中使用Swiper插件不能滑动的问题,包括了解决Angular.js中使用Swiper插件不能滑动的问题的使用技巧和注意事项,需要的朋友参考一下 我们都知道swiper是交互体验十分好的轮播插件 但是通过angular(ng-repeat)循环出来的swiper不能轮播的解决方案 通常我们都是通过以下方法来执行: html js 可是还是不行,注意:如果是在j

  • 从带有SP1的AEM 6.2升级到AEM 6.4后,很少有软件包未安装。旧版本处于已安装状态。 对于新软件包,显示消息为“似乎安装了另一个版本:”请参见下面的屏幕截图。 正因为如此,我可以看到很少的脚本没有更新最新的API。例如AEM 6.4升级实例:

  • 主要内容:一、前情提示,二、保证投递消息不丢失的confirm机制,三、confirm机制的代码实现,四、confirm机制投递消息的高延迟性,五、高并发下如何投递消息才能不丢失,六、消息中间件全链路100%数据不丢失能做到吗?一、前情提示 我们分析了RabbitMQ开启手动ack机制保证消费端数据不丢失的时候,prefetch机制对消费者的吞吐量以及内存消耗的影响。 通过分析,我们知道了prefetch过大容易导致内存溢出,prefetch过小又会导致消费吞吐量过低,所以在实际项目中需要慎重测

  • 如果发布极光推送官方更新了新的插件,我们如何将WeX5中使用的极光推送插件更新呢? 答案很简单,只需要按以下步骤进行即可: 1. 去https://github.com/jpush/jpush-phonegap-plugin下载最新版的cordova插件 2. 修改文件夹的名字为插件的id即:cn.jpush.phonegap.JPushPlugin 3. 将原来插件中的plugin-ex.xml