想改完代码马上在 iPhone 上看到效果,最快的做法是让「构建、安装、启动」变成一个按键:在 Xcode 里是 ⌘R,在 VS Code 里装上免费的快蝎(KXApp)插件后也是 ⌘R。手机用数据线连上 Mac,第一次做好信任、开发者模式和签名,之后每次改完代码按一下,新版本就装到手机上启动,断点也能直接停。不需要导出 IPA 再用别的工具安装。这篇讲第一次的准备、日常的运行调试,以及常见报错怎么处理,截至 2026 年 10 月,适用 Xcode 16 及以上。
为什么不要用「导出 IPA 再安装」来调试
| 做法 | 改一次代码要做的事 | 能断点调试吗 |
|---|---|---|
| Archive → 导出 IPA → 用其他工具安装 | 归档、选导出选项、等导出、切换工具安装、手动打开 App | 不能 |
| Xcode ⌘R | 按一次键 | 能 |
| VS Code + 快蝎插件 ⌘R | 按一次键 | 能 |
导出 IPA 适合发给别人测试(TestFlight、Ad Hoc),不适合自己调试。开发阶段直接运行到连着的手机,编译是增量的,通常十几秒就能在手机上看到改动。
第一次连接 iPhone 的准备
这些和在 Xcode 里用真机完全一样,每台手机只需要做一次:
- 用数据线连上 Mac,解锁手机,弹窗里点「信任」。
- iOS 16 及以上:手机「设置 › 隐私与安全性 › 开发者模式」打开,按提示重启。没看到这个选项时,先让 Xcode 连一次手机(下一步)。
- 打开 Xcode 的「Window › Devices and Simulators」,等 Xcode 识别并准备好这台手机。手机升级系统后也要重新准备一次,否则第一次调试会很慢。
- Xcode「Xcode › Settings… › Accounts」(账户)登录 Apple ID;工程 target 的「Signing & Capabilities」勾选自动签名并选好 Team。免费的 Apple ID 也能装到自己的手机上。
在 VS Code 里运行到 iPhone
- 在 VS Code 扩展视图搜索 kxapp 安装插件,打开含
.xcodeproj或.xcworkspace的文件夹。 - 点状态栏的运行目标,选你的 iPhone。列表在插拔手机后几秒内刷新,也可以在 Xcode 工程视图点「刷新设备」。
- 按 ⌘R。插件构建、签名、安装、启动 App,并接上调试器。
之后改完代码再按 ⌘R 即可;调试进行中 ⌘R 不生效,先按 ⌘. 停止再按,或点 Xcode 工程视图标题栏的「构建并运行」。只想装上看效果、不需要调试时,用命令「运行(不调试)」。
在真机上断点调试
- 在行号左侧点一下设断点;Swift、Objective-C 都可以。
- 断点停下后,左侧调试视图看变量、调用栈、线程;调试控制台输入
po打印对象。 - 条件断点:右键断点 › 编辑条件。日志断点:只输出一行、不停下,适合看循环里的值。
- App 的
print/NSLog输出在「输出 › kxapp Console」。 - 按 ⌘. 停止,默认同时结束 App;想让 App 留在手机上继续跑,关掉设置
kxapp.debug.killAppOnStop。 - App 已经在手机上运行时,用命令「附加到运行中的 App…」接上调试器。
- 某个 iOS 版本的手机在这台 Mac 上第一次调试时,会先进行 Preparing device support(从手机复制系统符号,约 1 分钟、占几 GB 磁盘),完成后才停到断点,之后就快了。

常见报错与处理
| 现象 | 处理 |
|---|---|
| 运行目标列表里没有手机 | 换数据线或 USB 口,解锁手机并点「信任」,再点「刷新设备」 |
| Xcode 工程视图的设备列表里,手机后面标着「开发者模式未开启」 | 手机「设置 › 隐私与安全性 › 开发者模式」打开后重启 |
| 运行失败:设备处于锁定状态 | 解锁手机(输入密码)后重新运行 |
| 很久停不到断点,提示设备未准备好 | 在 Xcode 的 Devices and Simulators 里连一次这台手机,等准备完成 |
| No profiles for… / Signing requires a development team | Xcode 里登录 Apple ID,target 的 Signing & Capabilities 选好 Team |
| 手机上提示「不受信任的开发者」 | 手机「设置 › 通用 › VPN 与设备管理」里信任你的开发者账号 |
| App 闪退、调试器连不上 | 看「输出 › kxapp Console」的最后输出;在 Xcode 里运行一次,确认是不是 App 本身的问题 |
更多见问题排查。
常见问题
能用 Wi-Fi 无线运行到 iPhone 吗?
能。先用数据线连一次,在 Xcode 的 Devices and Simulators 里勾选「Connect via network」,之后手机和 Mac 在同一网络时会出现在运行目标列表里,后面标着 Wi-Fi。无线调试比数据线慢一些。
没有付费开发者账号能装到自己的手机上吗?
能。用免费 Apple ID 登录 Xcode 即可签名安装到自己的设备,但描述文件 7 天后过期,过期后重新运行一次即可;推送等部分能力需要付费账号。免费账号能注册的设备数有上限,达到上限时构建会失败,弹窗只显示「构建失败:Building project … with scheme … and configuration Debug」,真正原因 “Your development team has reached the maximum number of registered iPhone devices” 只出现在「输出 › kxapp Build」里。构建失败看不出原因时,去那里找 error: 开头的行。
每次运行都要重新编译整个工程吗?
不用。编译是增量的,只编译改过的文件;而且和 Xcode 共用编译缓存,在 Xcode 里构建过的,切到 VS Code 也不用重新编译。
调试工具栏的「重启」按钮为什么不能重新运行 App?
构建发生在调试会话开始之前,所以「重启」不会重启 App,只会提示「这里不支持重启。请用“构建并运行”重新构建并启动 App。」,点提示里的「构建并运行」即可。改了代码也可以先按 ⌘. 停止,再按 ⌘R 重新构建并运行。