👁️

Vision

iOS 11+

Apple's framework for computer vision tasks. Vision provides image analysis capabilities including face detection, text recognition, barcode scanning, and object tracking.

Machine Learning
Official Apple Documentation →
iOS Version Compatibility
99.5%
coverage

of iOS users worldwide can use Vision (iOS 11+ required)

iOS VersionMarket ShareStatus
iOS 18.730.3%Supported
iOS 18.629.8%Supported
iOS 26.110.7%Supported
iOS 18.56.0%Supported
iOS 16.72.3%Supported
iOS 26.22.0%Supported
iOS 18.31.8%Supported
iOS 15.81.8%Supported
iOS 11.01.7%Supported
iOS 17.61.7%Supported

Key Features

Face and body detection

Text recognition (OCR)

Barcode and QR code detection

Object tracking and classification

Image similarity and registration

Core ML model integration

Code Examples

Detect Faces

Detect faces in an image using Vision

import Vision
import UIKit

func detectFaces(in image: UIImage, completion: @escaping ([VNFaceObservation]) -> Void) {
    guard let cgImage = image.cgImage else { return }
    
    let request = VNDetectFaceRectanglesRequest { request, error in
        guard let observations = request.results as? [VNFaceObservation] else {
            completion([])
            return
        }
        completion(observations)
    }
    
    let handler = VNImageRequestHandler(cgImage: cgImage, options: [:])
    try? handler.perform([request])
}

Recognize Text (OCR)

Extract text from images

import Vision
import UIKit

func recognizeText(in image: UIImage, completion: @escaping (String) -> Void) {
    guard let cgImage = image.cgImage else { return }
    
    let request = VNRecognizeTextRequest { request, error in
        guard let observations = request.results as? [VNRecognizedTextObservation] else {
            completion("")
            return
        }
        
        let recognizedText = observations.compactMap { observation in
            observation.topCandidates(1).first?.string
        }.joined(separator: "\n")
        
        completion(recognizedText)
    }
    
    request.recognitionLevel = .accurate
    let handler = VNImageRequestHandler(cgImage: cgImage, options: [:])
    try? handler.perform([request])
}

Frequently Asked Questions

What is Vision?

Apple's framework for computer vision tasks. Vision provides image analysis capabilities including face detection, text recognition, barcode scanning, and object tracking.

Which iOS versions support Vision?

Vision is available on iOS 11 and later. Currently, 99.5% of iOS users worldwide can use this framework.

What are alternatives to Vision?

Related frameworks include Coreml, Arkit. Each has different capabilities and iOS version requirements.