有段时间我一直以为,iOS 开发里的 IDE 选择很单一,因为只要是原生项目,大部分工作最终都会落到 Xcode 上,后来项目慢慢复杂起来,情况不一样了。

我的 Flutter 页面放在一个仓库里,后端脚本放在另一个目录,部分旧模块还是 Objective-C。那时候桌面上同时开着 Xcode、VSCode、Terminal、一个自动化构建窗口。开发过程已经不再是打开 IDE 写代码这么简单,也是从这个时候开始,我重新看了一遍现在常见的 iOS IDE。

Xcode还是目前最完整的 iOS IDE

无论工具生态怎么变化,Xcode 依然是 iOS 开发里最核心的环境。

它负责的事情很多比如创建工程、管理 Target、Interface Builder、模拟器、真机调试、Archive、证书与签名

对于纯原生项目来说,它仍然是最完整的工具,尤其是在 “Provisioning Profile”、“App Store Connect"和"Release 构建”,这些环节里,Xcode 目前仍然是默认入口,不过项目规模一旦变大,很多开发者会把 编辑代码 和 管理工程 拆开。

VSCode是越来越多开发者使用这个来写 Swift

VSCode 原本并不是为 iOS 开发设计的,但现在很多团队已经用 VSCode 编辑 Swift,管理 Flutter 项目,写构建脚本,处理 Git 工作流。原因就是现在很多项目并不只有 iOS 代码,同一个仓库里可能同时存在 Swift、Dart、TypeScript、Shell、JSON 配置。如果所有代码都能在一个编辑器里完成,开发上下文会更连续。

AI 插件、终端支持和 Git 插件,也让 VSCode 在移动端开发里越来越常见。

AppCode,JetBrains 风格的另一种选择

AppCode 一度在大型 Objective-C 项目里很受欢迎,它的特点主要集中在 代码分析、重构、跳转能力、大型工程处理,尤其是在历史项目维护中,代码导航体验会比较明显,不过它本身还是依赖 Xcode 工具链,因此更多像是另一层 IDE。

Android Studio 也开始出现在 iOS 项目里

听起来有点奇怪,但 Flutter 项目越来越多之后,Android Studio 也开始频繁出现在 iOS 开发环境里,原因激素hi,Flutter 开发需要 Dart 支持、Widget 调试、热重载,而 Android Studio 对 Flutter 的支持一直比较完整。,因此现在很多跨平台项目会形成一种混合工作流:

Flutter → Android Studio
iOS 工程 → Xcode
脚本与配置 → VSCode

问题也恰恰出在这里,具越来越多之后,开发过程会被不断切碎。

IDE之外,还有一条工具链

很多人讨论 IDE 时,只关注代码编辑,但真正影响开发节奏的,还有 编译、构建、真机运行、安装包生成

这些能力,有些工具会把这些部分拆开处理,也有一些新的 IDE 开始尝试重新整合。

一个有意思的方向

最近看到一个叫做 快蝎(kxapp) 的 iOS IDE,它和传统 IDE 的思路有点不一样,很多工具会专注某一个环节 Xcode 管理工程、VSCode 负责编辑、Fastlane 自动构建,而快蝎更像是在尝试把这些动作重新放回同一个环境里。
目前它支持 Swift 项目、Objective-C 项目、Flutter 项目,编辑器基于 VSCode 架构,同时内置了自己的 iOS 编译工具套装,项目修改之后,可以直接 构建、真机运行、生成安装包

对于需要频繁切换技术栈或者快速验证需求的人来说,这类 IDE 会比较值得关注。

IDE的变化,其实反映的是开发方式变化

iOS IDE有哪些其实不是哪个编辑器最好用,而是哪种开发流程更适合当前项目,有些团队会坚持 Xcode 为核心、多工具配合,也有人开始倾向 一个环境处理更多事情,尽量减少工具切换,两种方式都能成立,只是项目规模、团队结构和技术栈不同,选择也会不同。