Xcode 8 编辑器插件简介 - 1

原文链接:
http://otech.site/2016/09/04/xcode-8-%E7%BC%96%E8%BE%91%E5%99%A8%E6%8F%92%E4%BB%B6%E7%AE%80%E4%BB%8B-1/

Xcode8 beta版已经开始支持编辑插件的编写,并对Xcode进程进行了保护,这就意味着以前通过Alcatraz管理Xcode插件的方式在8以后将不复存在。

下面就先简单的介绍Xcode8编辑器插件如何编写。

本文章编写时所用的Xcode版本为 Version 8.0 beta 6 (8S201h)

如果你是 EI Capitan 用户,请先运行sudo /usr/libexec/xpccachectl,然后重启Xcode

新建 macOS 下的 Cocoa 项目

Xcode 8 编辑器插件简介 - 1_第1张图片

命名为 XcodeExt

Xcode 8 编辑器插件简介 - 1_第2张图片

新增 Target : Xcode Source Editor Extension

Xcode 8 编辑器插件简介 - 1_第3张图片
Xcode 8 编辑器插件简介 - 1_第4张图片

命名为 XcodeExtTest

Xcode 8 编辑器插件简介 - 1_第5张图片

左边XcodeExtTest下的三个文件就是我们写插件要用到的文件

Xcode 8 编辑器插件简介 - 1_第6张图片

这个时候我们可以先什么都不写,运行看一下有什么效果。你会发现Editor菜单下面并没有出现你写的插件。我特意看了下控制台输出,发现有这么一句

2016-09-04 23:03:22.506 Xcode[6410:108875]  IDESourceEditorExtension: Xcode Source Editor Extension does not meet code signing requirement: me.ocean.XcodeExt.XcodeExtTest ((null)), Error Domain=DVTSecErrorDomain Code=-67050 "code failed to satisfy specified code requirement(s)" UserInfo={NSLocalizedDescription=code failed to satisfy specified code requirement(s)}

应该是 beta6 没有证书不让调试,于是我就生成了一个mac的开发证书,再次运行,就可以看到Editor下面有插件名称显示出来了

Xcode 8 编辑器插件简介 - 1_第7张图片

要同时给XcodeExt和XcodeExtTest两个Target签名,才能编译通过

你可能感兴趣的:(Xcode 8 编辑器插件简介 - 1)