什么是 SimCam?
SimCam 是 iOS Simulator 的相机测试工具,让您无需物理 iPhone 或其他相机设备,即可处理相机相关功能。它可以将 Mac 摄像头流传输到模拟器中,将图片或视频注入作为稳定的相机源,并生成直接注入相机流的二维码。
其核心目的是简化相机功能的测试——如扫描、图像识别输入和基于二维码的流程——同时您的应用在 iOS Simulator 中运行,并通过标准 AVFoundation API 访问相机输入。
主要功能
- 从 Mac 实时流传输相机到 iOS Simulator:SimCam 注册为系统级虚拟相机,您的应用可使用标准 AVFoundation 相机 API 读取实时流。
- 生成二维码并注入相机流:以编程方式生成二维码,让其出现在模拟器相机输入中,无需手动将设备对准屏幕。
- 将图片和视频媒体注入作为相机源:使用图片或视频作为相机源,便于测试依赖一致视觉输入的应用(如扫描或识别),结果可预测。
- 支持前置和后置相机:配置源以匹配前/后置相机行为,满足测试流程需求。
- SimCam CLI 用于编程控制(包括代理驱动工作流):使用
simcamctl设置相机源(如二维码或媒体文件)并检查相机诊断,支持自动化和 AI 代理控制。
如何使用 SimCam
- 下载并安装 Mac 版 SimCam。
- 运行 iOS Simulator 和您的应用,该应用通过 AVFoundation 使用相机输入。
- 选择所需的相机源——流传输 Mac 摄像头、注入图片或视频,或生成并注入二维码。
- 需要自动化时使用内置 CLI(例如设置二维码源或图片源)。网站上显示的示例命令包括:
simcamctl set-source --qr "AUTH_TOKEN_XYZ"simcamctl set-source --image mock.png
- 测试并迭代,直到应用在模拟器中的相机相关功能按预期运行。
使用场景
- 调试 iOS Simulator 构建中的相机输入处理:使用虚拟相机流测试应用是否正确通过 AVFoundation 消费相机帧。
- 自动化二维码扫描流程:通过直接将二维码注入模拟器相机流,验证二维码扫描或深度链接处理是否正常,无需手动屏幕对齐手机。
- 扫描仪和识别的固定视觉测试数据:重复输入相同图片或视频,测试信用卡扫描、条码读取或其他受益于固定样本数据的图像识别输入。
- 代理或脚本化测试场景:使用 CLI,让自动化工作流(包括代理)在测试过程中切换源、生成二维码并检查相机诊断。
- 测试依赖前/后置相机的行为:在测试设置支持时,验证应用在两种相机方向下的行为。
常见问题
-
需要修改应用代码吗? 该页面提及此问题,但未提供答案。唯一支持的细节是 SimCam 注册为系统级虚拟相机,并通过标准 AVFoundation API 与应用协作。
-
支持哪些 macOS 和 iOS Simulator 版本? 该页面在“购买前”部分列出此问题,但提供的內容中未包含兼容性细节。
-
SimCam 支持第三方相机库吗? 该页面包含此问题,但未说明具体兼容性答案。提供的细节聚焦于基于 AVFoundation 的访问。
-
许可如何跨设备使用? 该页面提及许可和终身选项,但提供的內容中未包含跨设备规则。
-
如何使用 CLI 或让代理驱动 SimCam? 该页面说明 SimCam 包含 CLI(
simcamctl),供 AI 代理切换相机源、生成二维码并检查相机诊断,并提供设置二维码和图片源的示例命令。
替代方案
- 使用物理 iOS 设备进行相机测试:当需要真实设备相机行为时,这是直接的替代方案,但涉及设备操作,通常自动化程度低于虚拟相机流。
- 模拟器测试框架,模拟相机/AVFoundation 输入:不注入相机流,而是通过应用代码模拟或存根相机帧;如果目标是测试完整的 AVFoundation 相机管道,则可能更受限。
- 通用设备自动化框架:这些可在模拟器或设备上自动化交互,但可能无法提供 SimCam 描述的相机流/二维码注入工作流程。
- 屏幕到相机二维码测试方法:手动方法是显示二维码并视觉测试扫描;SimCam 的不同之处在于直接将二维码注入模拟器的相机流。
替代品
PromptLayer
PromptLayer 帮助团队对提示词和 AI 代理进行版本管理与测试:借助评估、追踪和回归集监控表现,并提供协作可视化编辑器。
Evidently AI
Evidently AI 是 AI 评估与 LLM 可观测平台,用于测试与监控生产级 AI 系统,支持 LLM 评估、RAG 评测、对抗合成测试与持续性能追踪。
Crikket
Crikket:开源bug报告平台,快速捕获和共享技术细节,加速问题解决。立即体验!
Roo Code
Roo Code在编辑器与云端agents中提供AI软件工程团队,支持角色化Modes与可配置控制,并与GitHub工作流连接用于编码、调试和测试。
Logic
Logic 是一款基于规格的智能体平台,可将书面智能体规范生成生产级 API,并内置测试、版本管理、模型路由与执行日志。
Codiga
Codiga 可自定义静态代码分析引擎,IDE 实时反馈,支持安全检查与自动修复,并覆盖 VS Code、JetBrains、GitHub 等工具。