You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何确定AVCaptureDevice.DeviceType对应iOS硬件及相机默认排序?

AVCaptureDevice.DeviceType 硬件对应与排序指南

一、各DeviceType对应的iOS硬件列表

  • .builtInTripleCamera:iPhone 11 Pro/Pro Max、iPhone 12 Pro/Pro Max、iPhone 13 Pro/Pro Max、iPhone 14 Pro/Pro Max、iPhone 15 Pro/Pro Max
  • .builtInDualWideCamera:iPhone 11全系列、iPhone 12全系列、iPhone 13全系列、iPhone 14全系列(除SE)、iPhone 15全系列(除SE)
  • .builtInDualCamera:iPhone 7 Plus、iPhone 8 Plus、iPhone X、iPhone XS/XS Max、iPhone XR
  • .builtInWideAngleCamera:所有配备后置相机的iOS设备(包括上述所有机型,以及iPhone SE全系列、iPhone 6/6s/7/8等单摄机型)
  • .builtInUltraWideCamera:没有仅搭载该类型的设备,它始终作为双摄/三摄系统的一部分存在,比如iPhone 11及以后的非SE机型都包含该镜头,但单独的DeviceType仅用于指定调用超广角镜头场景

二、匹配原生相机默认顺序的DeviceType排序

原生相机默认优先启动广角镜头,要让DiscoverySession的设备枚举逻辑匹配原生逻辑,建议按「设备支持的最高规格相机系统优先,默认镜头为广角」的规则排序:

let deviceTypes: [AVCaptureDevice.DeviceType] = [
    .builtInTripleCamera,
    .builtInDualWideCamera,
    .builtInDualCamera,
    .builtInWideAngleCamera,
    .builtInUltraWideCamera
]
  • .builtInTripleCamera 排在最前:三摄机型的原生相机默认调用三摄系统中的广角镜头,枚举时优先识别完整三摄系统
  • .builtInDualWideCamera 需在.builtInDualCamera之前:双摄广角系统(带超广角)是后续机型的新配置,原生逻辑会优先识别更新的相机系统
  • .builtInUltraWideCamera 必须加入:虽然没有单摄超广角设备,但当用户切换到超广角时,该类型可被正确识别;由于原生相机默认不启动超广角,放在最后即可

三、确认硬件对应关系与排序的方法

  • 真机测试:在目标机型上打印DiscoverySession枚举的设备列表,查看每个设备的deviceType和position,验证实际返回顺序
  • 对照硬件发布参数:苹果每代iPhone的相机配置在发布会或官网参数页有明确说明,比如三摄仅对应Pro系列,双摄广角对应后续非Pro机型等
  • API验证:遍历DiscoverySession返回的devices数组,打印每个设备的localizedName和deviceType,对比原生相机默认启动的镜头信息

内容的提问来源于stack exchange,提问作者Ethan Allen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 19:45:31