一、安装 Xcode 插件模板
首先需要给 Xcode 安装插件模板,用于创建插件工程。安装模板使用的是 Xcode-Plugin-Template , 我们通过Xcode 包管理工具 Alcatraz 来安装。
1、安装 Alcatraz
Alcatraz 仅仅支持 Xcode 7+
安装
在命令行输入如下命令:
curl -fsSL https://raw.githubusercontent.com/supermarin/Alcatraz/deploy/Scripts/install.sh | sh
卸载
删除插件:
rm -rf ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/Alcatraz.xcplugin
移除所有缓存数据:
rm -rf ~/Library/Application\ Support/Alcatraz
使用
安装完成之后,必须重启 Xcode,可以在 Xcode 菜单 Window->Package Manager 里面打开 Alcatraz
2、安装 Xcode-Plugin-Template
上面安装完成 Alcatraz 之后,通过 Alcatraz 安装 Xcode-Plugin-Template 插件。打开 Alcatraza,选择里面的 Templates,找到里面的 Xcode-Plugin-Template 模板,点击安装:
安装完成之后,新建一个插件模板工程,通过 New->Project->OSX->Xcode Plugin 新建 Xcode Plugin 工程:
创建好的 Xcode Plugin 工程:
二、Xcode Plugin 开发原理分析
Xcode Plugin 路径
所有的插件生成之后都在下面这路径:
~/Library/Application Support/Developer/Shared/Xcode/Plug-ins
DVTPlugInCompatibilityUUIDs
插件通过 DVTPlugInCompatibilityUUIDs 来指定能够运行此插件的 XCode 版本 。
如果我们第一次安装插件,或者更新 Xcode,那我们需要重新添加 Xcode 的 DVTPlugInCompatibilityUUID 到 DVTPlugInCompatibilityUUIDs 里面。
在 terminal 中输入:
defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID
terminal 会返回一串字符串给你,这就是你的 Xcode 的 DVTPlugInCompatibilityUUID,把这串字符串添加到 DVTPlugInCompatibilityUUIDs 中即可。
监听 Xcode 通知
监听 Xcode 里面的操作的通知,通过:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(applicationDidFinishLaunching:)
name:NSApplicationDidFinishLaunchingNotification
object:nil];
通过监听 Xcode 的启动,我们可以在Xcode里面做一些我们想要处理的事情。