原文链接: http://vongloo.me/2016/09/10/Make-Your-Xcode8-Great-Again/

随着 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 中的解决方案,总结起来步骤如下:

  1. 编译 MakeXcodeGr8Again 并且导出其 product (关于 MakeXcodeGr8Again,下文会详细说到)。
  2. 退出 Xcode8,同时运行刚刚导出的 MakeXcodeGr8Again,将 Xcode8 拖入其中,等待一段时间(3~10分钟)。
  3. 等菊花转完后,应用程序文件夹下会生成一个 XcodeGr8 的应用,运行命令 sudo xcode-select -s /Applications/XcodeGr8.app/Contents/Developer 将 Xcode 开发路径指向刚生成的 XcodeGr8。
  4. 既然 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

让你的 Xcode8 继续使用插件相关推荐

  1. Xcode8.0 删除插件路径

    Xcode8.0  删除插件路径 ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins 转载于:https://www.cnblo ...

  2. iOS开发 Xcode8中遇到的问题及改动

    2019独角兽企业重金招聘Python工程师标准>>> iOS开发 Xcode8中遇到的问题及改动 新版本发布总会有很多坑,也会有很多改动. 一个一个填吧... 一.遇到的问题 1. ...

  3. 【总结】升级Xcode8遇到的问题及解决方案!!! [转]

    原文地址:http://www.cocoachina.com/ios/20161227/18451.html 升级Xcode8已是必然,升级iOS 10的用户不能说大有人在,应该也不会少,楼主听说,如 ...

  4. iOS开发——基础篇——iOS开发 Xcode8中遇到的问题及改动

    iOS开发 Xcode8中遇到的问题及改动 新版本发布总会有很多坑,也会有很多改动. 一个一个填吧... 一.遇到的问题 1.权限以及相关设置 iOS10系统下调用系统相册.相机功能,或者苹果健康都会 ...

  5. iOS开发 xcode8 和 ios10 的那些坑

    1.Notification(通知) 自从Notification被引入之后,苹果就不断的更新优化,但这些更新优化只是小打小闹,直至现在iOS 10开始真正的进行大改重构,这让开发者也体会到UserN ...

  6. CocoaChina(总结)升级到xcode8遇到的问题及解决方案

    此总结由CocoaChina论坛版主wo709128079及广大坛友共同汇总.>>查看原帖 升级Xcode8已是必然,升级iOS 10的用户不能说大有人在,应该也不会少,楼主听说,如果不升 ...

  7. Xcode8以及iOS10问题记录

    1.解决工程中输出无关日志 Edit Scheme -> Run -> Arguments, 在Environment Variables里边添加   OS_ACTIVITY_MODE  ...

  8. 兼容iOS 10 资料整理笔记

    1.Notification(通知) 自从Notification被引入之后,苹果就不断的更新优化,但这些更新优化只是小打小闹,直至现在iOS 10开始真正的进行大改重构,这让开发者也体会到UserN ...

  9. 兼容iOS 10 _升级xcode8_适配(四)

    1.Notification(通知) 自从 Notification 被引入之后,苹果就不断的更新优化,但这些更新优化只是小打小闹,直至现在iOS 10开始真正的进行大改重构,这让开发者也体会到 Us ...

  10. 兼容iOS 10 _升级xcode8_适配(一)

    1.Notification(通知) 自从Notification被引入之后,苹果就不断的更新优化,但这些更新优化只是小打小闹,直至现在iOS 10开始真正的进行大改重构,这让开发者也体会到UserN ...

最新文章

  1. 复习笔记(二)——C++面向对象设计和使用
  2. Python中带下划线_的变量和函数命名的用法
  3. java default parameter_Java Parameter.DefaultBounds方法代码示例
  4. Intel 64/x86_64/IA-32/x86处理器 - 通用指令(7) - 标志寄存器/标志控制指令 段寄存器指令
  5. java io .log_namenode无法启动:java.io.FileNotFoundException: .log (Permission denied)
  6. 博客园北京俱乐部第二次技术活动(2009/4/4)总结
  7. html input url,HTML5表单之Input 部类-url
  8. 怎样用html播放喜马拉雅音频文件,如何将喜马拉雅音频文件导出mp3,教你一键完成操作...
  9. MKV(Matroska)常见问题浅析
  10. 计算机更新bios,GIGABYTE How to Reflash VGA BIOS
  11. 怎样批量修改图片尺寸?
  12. 指尖轻舞桌面:Slide On Desk - 主题风格制作指南
  13. 印度体育教育初创公司 KOOH Sports 获得 220 万美元风险投资
  14. php session fixation,Session Fixation 攻防实战
  15. 我终于把Boss直聘上热度最高的Java面试八股文总结,渗透面试核心知识点!
  16. 发送广播失败 Parcelable encountered IOException writing serializable object (name =xxxx).
  17. C语言练习,计算圆的面积和周长。
  18. 傅里叶变换及低通滤波再反变换(C++opencv)
  19. 大数定律及中心极限定理
  20. oracle保留款数据,系列之五:ORACLE EBS 系统主数据管理(B) - season的日志 - 网易博客...

热门文章

  1. QQ能上网但是浏览器上不了网
  2. 虚拟机中Linux扩容硬盘空间
  3. 阅兵方阵(蓝桥杯2018真题)
  4. 复利mysql_复利计算--结对
  5. mysql执行计划explain介绍_MySQL中的执行计划explain详解
  6. 微信小程序 + 腾讯位置服务SDK 实现路线规划
  7. 从0开始的appium+Android+python自动抢红包世界生活
  8. 二手房交易有哪些税费?
  9. easyui filebox限制文件上传的类型
  10. Linux编程之ICMP洪水攻击