1.5 常用插件

Xcode 8发布后,出于安全性的考虑,苹果屏蔽了使用第三方插件的方式,诸如大名鼎鼎的Alcatraz插件管理工具也变得无用武之地了。取而代之的是Xcode内置了源码编辑器扩展(Xcode Source Editor Extension)功能。

1.5.1 苹果封锁第三方插件的原因

在Xcode 8版本发布之前,Xcode的第三方插件应用非常流行和普遍,优秀的第三方插件可以极大地提升程序员的开发效率,并且出现了诸如Alcatraz这种优秀的第三方插件管理工具。

2014年9月,由于诸多开发者在更新Xcode时,没有从AppStore这个官方渠道下载,而是从第三方的平台下载,造成了开发者下载的非官方途径的Xcode带有XcodeGhost病毒。当应用开发者使用带毒的Xcode工作时,编译出的App都将被注入病毒代码,从而产生众多带毒App。用户在iOS设备上安装了被感染的App后,设备在接入互联网时会自动上传一些敏感信息到黑客的服务器,同时黑客也可以通过服务器下发指令来控制用户的设备。此次事件的影响面和危害程度前所未有,有可能是苹果有史以来所面临的最严重的安全危机。

苹果的生态系统自发布以来就以安全以及封闭著称,而此次事件所带来的结果就是:在Xcode 8版本中,苹果封闭了第三方插件的生存空间,但同时提供了源码编辑器扩展(Xcode Source Editor Extension)功能。苹果这么做有一个原因在于,之前Xcode和插件是运行在同一个进程的,所以插件的崩溃也会导致Xcode崩溃。苹果现在将插件作为一个单独的应用程序,分开进程运行,不会对Xcode带来其他影响。

1.5.2 源码编辑器扩展

进入Xcode后,在菜单栏中选择File→New→Target命令即可选择Xcode Source Editor Extension,如图1-13所示。

图1-13 源码编辑器扩展

源码编辑器扩展(Xcode Source Editor Extension)允许开发者开发用于代码编写的扩展程序。它专注于提升编码过程中的操作和导航,提升编码的效率。编写的扩展程序可以上传到AppStore中进行销售。例如,用户可以在AppStore中以Xcode Extension为关键字,搜索到一些Xcode扩展程序,如图1-14所示。

图1-14 AppStore中的Xcode扩展程序