教你如何解决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 开发工具 XCActionBar
- xcode 4 制作静态库图文详解
- 解决 Xcode 6-Beta2 智能提示bug
- XCode编译速度慢的处理方法
- mac git xcrun error active developer path 错误
- Xcode使用教程详细讲解(全)
- Cocos2d开发1:Xcode与TexturePacker的集成
- windows下objective-c的cocoa框架编程,可以有图形界面哟
- OSX下Xcode更新后,Git提示确认证书
- Xcode5.0.2 资源更新问题
- Xcode7升级到Xcode8之后遇到文件冲突
- Mac OS X上搭建本地SVN服务器
- xcode 调试技巧
- xcode 每次 全部 重新 编译 的问题
- Xcode快捷键大全
- Xcode4快速Doxygen文档注释 — 简明图文教程(3分钟后爽歪歪)
- XCode 4.2 新功能 - Storyboard
- Xcode 和 SDK各个版本的下载地址
- 高效使用你的XCode
- Xcode Debugging