iOS8以降からフォーカス距離の固定が可能になりました。
camera.swift
var camera: AVCaptureDevice
// 略
do {
// AVCaptureDeviceをロックして設定
try camera.lockForConfiguration()
// 現在のフォーカス(焦点)距離
print("\(camera.lensPosition)")
// フォーカス(焦点)距離設定(0.0~1.0の間)
camera.setFocusModeLocked(lensPosition: 0.8) { _ in
// フォーカス(焦点)距離が固定されたら呼ばれるコールバック
print("\(camera.lensPosition)")
}
camera.unlockForConfiguration()
} catch _ {
}