用途:该工作流以 Xcode 自带的 Device Hub 作为处理模拟设备和物理设备的统一入口,负责设备选择、交互、环境检查、配对、截图、录像和诊断下载,不承担项目构建运行、测试、调试器、签名配置或浏览器镜像职责。
主要能力:区分模拟设备与仅硬件可验证的需求(性能、摄像头、传感器、配对等);从运行目标菜单的 Manage Devices 或 Xcode 的 Open Developer Tool 打开 Device Hub;在检查器中记录设备名称、平台、系统版本和设备标识符;对模拟设备启动并仅修改所需环境设置,把外观、Liquid Glass、文字大小、缩放模式作为具名变体并保留前后对比证据;对物理设备先检查配对与开发者模式状态;在请求状态可见后截图或录像,记录设备身份、App 状态和保存路径;仅在诊断与报告失败相关时下载诊断并交给调试或测试流程。
使用方式:先读取目标 App、设备类型、运行时和证据目标;打开 Device Hub 并选择设备,记录标识符并与运行目标对齐,不能仅凭名称猜测模拟器;模拟设备只改动被要求的环境设置;物理设备的配对、信任提示、开发者模式、取消配对和配置变更需在变更点获得用户明确意图;通过所属构建运行工作流运行或交互 App,Device Hub 交互只作为同一目标设备状态的证据;截图录像须在状态可见后进行并注意全分辨率画面可能含敏感内容;需要可重复脚本或 CI 时先查看所选工具链的 xcrun devicectl --help 契约并保持设备标识符一致;通过所属方停止 App 或设备会话,不把擦除、移除、取消配对或重置作为常规清理。
适用场景:需要做运行目标决策、检查模拟器或物理设备、截屏录屏、检查环境变体、设备配对、下载诊断,或应通过 Device Hub 而非独立模拟器窗口观察运行中 App 的场合。
限制:不能把模拟器结果当作硬件渲染、电池、温度、传感器、摄像头、射频或性能行为的证据;不得用 Device Hub 从显示名称推断 CoreSimulator UDID;不得在无用户明确请求时配对、取消配对、启用开发者模式、移除模拟器、擦除数据或修改物理设备设置;不得通过局域网、隧道或外部浏览器暴露 Device Hub 画面或截图;加载的 Device Hub 窗口不能证明构建、启动或测试通过,应以请求的帧、日志、测试结果或诊断为准;devicectl 安装、启动、屏幕交互或 Device Hub 截图均不能证明 XCUITest 通过,测试结果和 .xcresult 才是自动化权威。参考资料包括 references/device-hub-scope-and-evidence.md 与 references/device-hub-safety-and-handoffs.md。