为什么某些实验在 iPhone 上找不到
这不是 bug
如果你的 iPhone 上找不到某些实验,那是因为 iOS 不允许 phyphox 访问对应的传感器。这不是 phyphox 的问题,是 Apple 的安全策略。
iOS 传感器限制清单
| 传感器 | iPhone 能访问吗 | 影响的 phyphox 实验 |
|---|---|---|
| 加速度计 | ✅ | 无限制 |
| 陀螺仪 | ✅(部分实验) | "Roll"实验被移除(iOS 系统级限制) |
| 磁力计 | ✅ | 无限制 |
| 气压计 | ✅(iPhone 6s+) | iPhone SE 系列(1/2/3)没有气压计 |
| 麦克风 | ✅ | 无限制 |
| 距离传感器 | ❌ | 找不到"距离秒表" |
| 环境光传感器 | ❌ | 找不到所有"光学"类实验(光学秒表等) |
| 相机 | ✅(v1.2.0+) | v1.2.0 后五个相机实验在 iOS 上完整可用 |
| GPS | ✅ | 无限制 |
| 蓝牙输出 | ❌ | Android 专属功能(与外部设备通信) |
具体影响
光感器相关
iOS 上完全没有这些实验:
- 光学秒表(Optical Stopwatch)
- 光感器原始数据(Light 原始数据)
- 任何依赖环境光阈值触发的自定义实验
Apple 给出的理由是:环境光传感器的数据可能被用来"跟踪用户的使用模式"——这是隐私安全考量。
距离传感器
距离传感器在 iPhone 上只在通话时使用(贴脸自动灭屏),Apple 不对外暴露。所以:
- 找不到"距离秒表"
- 自定义实验里也不能用距离传感器作为数据源
"Roll"实验被移除
phyphox 官方 FAQ 专门有一个条目解释:苹果在某版本更新后改变了陀螺仪 API 的行为,导致 Roll 实验在 iOS 上无法正常工作。phyphox 团队尝试过各种变通方案都无法绕过这个限制,最终只能把它从 iOS 端移除。Android 不受影响。
怎么确认
在 phyphox 设置里找"About this device"或"Sensor info"页面,这里会列出当前设备 + 当前 OS 版本下 phyphox 能访问的所有传感器。如果你发现某个物理上应该存在的传感器没被列出,那就是 Apple 的限制。
总体体验
即使有这些限制,iPhone 上的 phyphox 依然能用加速度计、陀螺仪、磁力计、麦克风、气压计、GPS 和摄像头——覆盖了 phyphox 内置实验的约 80%。缺失的主要是距离/光感器相关和蓝牙输出,日常物理实验基本不受影响。