我为 macOS 构建了一个 iOS Simulator 工具包——它的功能如下
Source: Dev.to
如果你开发 iOS 应用,你每天都会在 Xcode Simulator 中花费数小时。而且每天,你都会遇到相同的痛点:
- 需要检查 WebSocket 消息吗?没有内置的检查器。
- 需要检查 API 响应吗?需要使用 SSL 证书来设置 Charles Proxy。
- 需要带设备框架的截图吗?需要切换到其他工具。
- 需要测试推送通知吗?打开终端,编写 JSON,使用
simctl push。 - 需要在慢速网络下测试吗?Simulator 本身不支持。
- 需要验证可访问性吗?在 Simulator 的 Settings 应用中逐一切换设置。
我构建了 SimKit,在一个 macOS 应用中解决所有这些问题。
从 Mac App Store 下载 SimKit。

什么是 SimKit?
SimKit 是一个 macOS 应用程序,运行在 iOS Simulator 旁边,提供 Xcode 没有的专业工具。它采用免费增值模式(核心功能免费,Pro 版提供高级工具),使用 100 % Swift 和 SwiftUI 编写,且没有任何第三方依赖。
GitHub:
Source: …
功能概览
屏幕录制与截图
- 录制带有设备边框和触摸指示的模拟器画面,可导出为 MP4 或 GIF。
- 截取带自定义状态栏和设备框架的截图——可直接用于 App Store 营销或 Pull‑Request 文档。
网络调试(零配置)
在你的 iOS 应用中添加一行代码:
import SimKitSDK
SimKitSDK.shared.enable()
即可获得:
- WebSocket 检查 – 实时监控帧、消息和连接生命周期。
- 实时 HTTP 流量监控 – 查看每个请求、响应、头部和正文。
- 网络限速 – 模拟 Wi‑Fi、LTE、4G、3G、2G/Edge、自定义速度或离线模式。
- Mock 端点 – 为任意 URL 模式返回自定义 JSON,无需搭建 Mock 服务器。
- 导出 – HAR 格式供 Chrome DevTools 使用,或导出为 cURL 以在终端重放。
无需代理设置、证书或 Charles Proxy 许可证。底层使用 URLProtocol 拦截实现。
推送通知测试
可视化的推送通知测试工具取代了 simctl push 的终端流程:
- 带语法高亮的 JSON 编辑器。
- 内置模板(消息、警报、徽章、静默推送、富媒体通知)。
- 徽章数字控制。
- 负载历史记录——可复用之前的通知。
- 一键发送至任意运行中的模拟器。
深度链接测试
通过可视化界面测试 URL Scheme 和 Universal Link。保存常用链接模板,无需再手动输入 xcrun simctl openurl booted …。
位置模拟
- 8 个预设城市位置。
- 自定义 GPS 坐标输入。
- GPX 路线文件回放——模拟在路径上的移动,适用于导航、健身或共享出行类应用的测试。
辅助功能测试 — 一面板 11 项设置
可随意组合切换:
- 动态文字(7 种尺寸:XS 到 XXXL)
- 暗/亮模式
- 减少动画
- 减少透明度
- 粗体文字
- 按钮形状
- 灰度
- 颜色反转
- 增强对比度
- 开/关标签
- 区分无色彩
无需在模拟器的 Settings 应用中逐项查找,即可测试应用的辅助功能支持。
开发者工具
- UserDefaults 编辑器 – 查看并编辑应用的
UserDefaults,无需修改代码。 - 应用容器浏览器 – 浏览应用沙盒目录。
- 权限管理器 – 授予或撤销权限(相机、照片、位置等)。
- 生物识别模拟 – 触发 Face ID / Touch ID 成功或失败事件。
入门
从 Mac App Store 下载 SimKit,或访问官网。
若需网络功能,请通过 Swift 包管理器将 SimKit SDK 添加到您的 iOS 项目中:
import SimKitSDK
@main
struct MyApp: App {
init() {
SimKitSDK.shared.enable()
}
var body: some Scene {
WindowGroup { ContentView() }
}
}
反馈与支持
- 错误报告:
- 功能请求: 在 issue 中提出你的想法。
- 给仓库加星: 如果 SimKit 对你有帮助,给个星星意义重大。
- GitHub:
你希望接下来看到哪些功能?在评论中告诉我吧。