您的位置:首页 > 其它

让你的 Xcode8 继续使用插件

2016-09-24 22:10 253 查看
随着 iOS10 的正式版即将发布,Xcode8 GM 也在发布会后放出,本文不会涉及到 Xcode8 有哪些更新,而是记录了如何让 Xcode8 继续支持 Plugin。


Update:

9.16

看到 GitHub 上有一个 repo 可以一句命令即可解决本文提到的所有问题 update_xcode_plugins,没有亲测,如果觉得本文方法比较麻烦,可以一试。

我个人常用的 Xcode 插件可以参见这篇文章Xcode
常用插件。

相信各位已经有尝试过 Xcode-beta 了,但是会发现之前所有的插件都失效了。一开始我以为是和之前一样 Xcode 升级了,需要更新 Xcode info.plsit 中的 DVTPlugInCompatibilityUUID,于是运行了如下命令,具体修复原理和方案可以参考这篇文章 Xcode升级后插件失效的原理与修复办法
1

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-beta.app/Contents/Info.plist DVTPlugInCompatibilityUUID`

结果还是无效,去 Github 上看,果然一堆人遇到了这个问题,可以看下这个 issue。由于
Xcode8 没了插件支持,我用的时候勉强还能习惯,一个用习惯了 Xvim 的同事表示不能忍,于是就去到 XVim 看有没有提这个
issue,果然也是有一堆人提到了这个问题,作者也给出了对应的解决方案,摘录最主要的一段如下:

With Xcode 8 and above, you’ll be asked if you want to remove code singature from Xcode. It is required to make the XCode load XVim. So if you are OK just type ‘y’ to proceed and remove code signature from your
Xcode.

但是我并没有按照这种方式来操作,而是结合这个 issue 中的解决方案,总结起来步骤如下:

编译 MakeXcodeGr8Again 并且导出其
product (关于 MakeXcodeGr8Again,下文会详细说到)。
退出 Xcode8,同时运行刚刚导出的 MakeXcodeGr8Again,将 Xcode8 拖入其中,等待一段时间(3~10分钟)。
等菊花转完后,应用程序文件夹下会生成一个 XcodeGr8 的应用,运行命令 
sudo xcode-select -s
/Applications/XcodeGr8.app/Contents/Developer
 将 Xcode 开发路径指向刚生成的 XcodeGr8。
既然 Xcode8 的签名已被移除,那么就可以继续使用上面的修复插件失效代码。但是上面的脚本要稍微改一下就是把 Xcode.app 换成 XcodeGr8.app 即可。代码如下:

1

find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add `defaults read /Applications/XcodeGr8.app/Contents/Info.plist DVTPlugInCompatibilityUUID`

下面我们来看下步骤1提到的 MakeXcodeGr8Again,其 ReadMe 也有对应的介绍。这里大概摘录一下:

苹果为了避免类似 Xcode
Ghost
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: