🐾

iPhone14Proでカメラのピントが合わない時の対処法

2023/03/11に公開

原因

  • iPhone14Pro, 14ProMaxはピントが合う距離が他の端末より長い

問題点

  • 距離を離すことでピント自体は合うが、撮影対象が小さく映る
  • さらに私の場合、開発中のアプリにはバーコードスキャン機能があり、ピントが合う距離まで離すと、対象が小さすぎて認識できない

結論

  • ズームさせる

ZXingObjCの例

extension UIDevice {
    var modelName: String {
        var systemInfo = utsname()
        uname(&systemInfo)
        let machine = withUnsafePointer(to: &systemInfo.machine) {
            $0.withMemoryRebound(to: CChar.self, capacity: 1) {
                ptr in String.init(validatingUTF8: ptr)
            }
        }
        return machine ?? "Unknown"
    }
}


let zxcapture = ZXCapture()

let deviceName = UIDevice.current.modelName

// iPhone14Pro, 14ProMaxのみズームさせる
// https://newichiros-memo.blogspot.com/2019/12/iphone-devicename.html
if deviceName == "iPhone15,2" || deviceName == "iPhone15,3" {
    do {
        try zxcapture.captureDevice.lockForConfiguration()
        zxcapture.captureDevice.videoZoomFactor = 2.5 // 2.5倍にズーム
    } catch {}
}

純正カメラの挙動

14Proの純正カメラは近距離まで近づくと、自動でマクロ撮影モードに切り替えることができるため、この問題は起こらない

GitHubで編集を提案
カラビナテクノロジー デベロッパーブログ

Discussion