最近在做一个代码开发工具,想集成到Xcode中直接使用,这篇文章记录在Xcode 16.3中生成插件的流程。
一、技术选型与背景
Xcode 插件开发的官方主流方式是 Xcode Source Editor Extension,它基于 XcodeKit 框架,专注于扩展源代码编辑器的能力(如代码生成、格式化、注释自动补全等)。这种方式是苹果官方认可的,稳定性和兼容性有保障。
二、开发流程详解
步骤 1:创建 Mac App 载体项目
插件需要一个 “容器” 来承载,因此我们首先创建一个 macOS App 项目:
-
启动 Xcode 16.3,点击「Create a new Xcode project」;
-
选择 macOS > App 模板,点击「Next」;
-
填写项目信息,界面选择「SwiftUI」或「AppKit」均可,切记Team必须与你iOS项目中的Team一致,不然后续会有很多证书和配置问题,点击 Create。
步骤 2:添加 Xcode Source Editor Extension 目标
接下来创建真正的插件模块:
-
打开新创建的Mac工程,点击菜单栏「File > New > Target...」;
-
在模板列表中选择 macOS > Xcode Source Editor Extension,点击「Next」;
-
为扩展命名,点击「Finish」。
此时 Xcode 会自动生成插件的基础代码结构,包括命令类(如 SourceEditorCommand.swift)和配置文件 Info.plist。
步骤 3:配置 XcodeKit 依赖(关键!)
XcodeKit 是插件与 Xcode 编辑器通信的核心框架,必须确保正确配置:
-
选中 Extension 目标,进入「General」标签页;
-
在「Frameworks and Libraries」区域,确认已存在
XcodeKit.framework; -
若不存在,点击「+」号搜索并添加
XcodeKit.framework,并将其状态设置为 Embed & Sign(这一步是踩坑的点,必须确保 “嵌入并签名”)。
步骤 4:编写代码生成的核心逻辑
插件的功能主要在 perform(with:completionHandler:) 方法中实现。可以根据自己想需要编写功能
步骤 5:运行与调试插件
-
在 Xcode 顶部选择刚才新建的Target插件;
-
点击「运行」按钮(或快捷键
Cmd+R),Xcode 会启动一个全新的调试用 Xcode 实例; -
在这个调试 Xcode 中打开任意项目,点击顶部菜单栏「Editor」,即可找到你插件的菜单项;