SuperAPI AI 工具集

sensorkit

数据与分析

查看项目

更新于 10-15 23:34

技能介绍

用途:SensorKit 让经过 Apple 批准的研究类 App 在 iPhone 与 Apple Watch 上记录并获取研究级传感器数据,覆盖环境光、运动(加速度计、旋转速率)、计步、设备使用、键盘指标、信息与电话使用、位置访问、媒体交互、面部指标、心率、里程、Siri 与电话语音指标、腕温、PPG 与 ECG 等。目标为 Swift 6.3 / iOS 26+。

主要能力:通过 SRSensorReader 按单个传感器创建读取器,请求授权、开始/停止记录,并以 SRFetchRequest 指定时间范围与目标设备抓取数据;通过 SRSensorReaderDelegate 接收设备列表、样本结果与完成/失败回调。SRDevice 用于区分 iPhone 与 Apple Watch 数据来源。

使用方式与限制:仅限 Apple 批准的研究项目,需向 Apple 提交研究提案并获得 com.apple.developer.sensorkit.reader.allow 权利;Xcode 需手动签名并使用启用了 SensorKit 能力的显式 App ID 与描述文件。Info.plist 需配置 NSSensorKitUsageDescription、NSSensorKitPrivacyPolicyURL 与逐传感器的 NSSensorKitUsageDetail。首次请求时系统显示“Research Sensor & Usage Data”授权表,按传感器授权,用户可拒绝。新记录数据有 24 小时保留期,期间不可获取,设计采集流程需考虑该延迟;活跃传感器最多可访问此前 7 天已记录数据。

注意事项:这不是通用传感器 API,普通加速度计/陀螺仪需求应使用 CoreMotion。常见错误包括缺少权利导致 SRError.invalidEntitlement、期望立即取到刚记录的数据、抓取前未设置 delegate、未配置逐传感器用途说明,以及未按 SRError 具体错误码处理。资料还包含审阅清单,强调在开发前确认研究获批、只声明所需传感器、在记录前请求授权并在抓取前检查状态、抓取时间范围避开 24 小时保留期、必要时用 fetchDevices() 发现设备,并在采集结束后调用 stopRecording()。