View in English

  • Apple Developer
    • Get Started

    Explore Get Started

    • Overview
    • Learn
    • Apple Developer Program

    Stay Updated

    • Latest News
    • Hello Developer
    • Platforms

    Explore Platforms

    • Apple Platforms
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    • App Store

    Featured

    • Design
    • Distribution
    • Games
    • Accessories
    • Web
    • Home
    • CarPlay
    • Technologies

    Explore Technologies

    • Overview
    • Xcode
    • Swift
    • SwiftUI

    Featured

    • Accessibility
    • App Intents
    • Apple Intelligence
    • Games
    • Machine Learning & AI
    • Security
    • Xcode Cloud
    • Community

    Explore Community

    • Overview
    • Meet with Apple events
    • Community-driven events
    • Developer Forums
    • Open Source

    Featured

    • WWDC
    • Swift Student Challenge
    • Developer Stories
    • App Store Awards
    • Apple Design Awards
    • Apple Developer Centers
    • Documentation

    Explore Documentation

    • Documentation Library
    • Technology Overviews
    • Sample Code
    • Human Interface Guidelines
    • Videos

    Release Notes

    • Featured Updates
    • iOS
    • iPadOS
    • macOS
    • watchOS
    • visionOS
    • tvOS
    • Xcode
    • Downloads

    Explore Downloads

    • All Downloads
    • Operating Systems
    • Applications
    • Design Resources

    Featured

    • Xcode
    • TestFlight
    • Fonts
    • SF Symbols
    • Icon Composer
    • Support

    Explore Support

    • Overview
    • Help Guides
    • Developer Forums
    • Feedback Assistant
    • Contact Us

    Featured

    • Account Help
    • App Review Guidelines
    • App Store Connect Help
    • Upcoming Requirements
    • Agreements and Guidelines
    • System Status
  • Quick Links

    • Events
    • News
    • Forums
    • Sample Code
    • Videos
 

Videos

Open Menu Close Menu
  • Collections
  • All Videos
  • About

More Videos

  • About
  • Summary
  • Code
  • Implement high resolution photo capture

    Capture super high resolution photos in your app using AVFoundation. Learn when to use the three different options to capture images — RAW, exposure-bracketed, and fully processed. Walk through configuring photo capture for 24MP and 48MP images across the Main, Tele, and Ultra Wide cameras. And discover how deferred photo processing keeps your app responsive as more photos are taken.

    Chapters

    • 0:00 - Introduction
    • 0:52 - High-resolution photos
    • 4:07 - Types of captures
    • 5:20 - Configure a capture session
    • 9:41 - Responsive capture best practices

    Resources

    • Capturing photos in RAW and Apple ProRAW formats
    • AVCam: Building a camera app
      • HD Video
      • SD Video

    Related Videos

    WWDC26

    • Build a responsive camera app that launches quickly
    • Support the Center Stage front camera in your iOS app

    WWDC23

    • Create a more responsive camera experience

    WWDC21

    • Capture and process ProRAW images
    • Capture high-quality photos using video formats
  • Search this video…
    • 5:26 - Configure the AVCaptureSession

      import AVFoundation
      
      private let session = AVCaptureSession()
      private func configureSession() {
          session.beginConfiguration()
          session.sessionPreset = .photo
      }
    • 6:11 - Configure AVCapturePhotoOutput

      import AVFoundation
      
      private let photoOutput = AVCapturePhotoOutput()
      private let configurePhotoOutput: () -> Void = {
          photoOutput.maxPhotoQualityPrioritization = .quality // or .balanced
      }
    • 6:38 - Add maxPhotoDimensions to AVCapturePhotoOutput

      import AVFoundation
      
      let supportedMaxPhotoDimensions = device?.activeFormat.supportedMaxPhotoDimensions ?? []
      if let largestDimension = supportedMaxPhotoDimensions.max(by: { lhs, rhs in
          Int(lhs.width) * Int(lhs.height) < Int(rhs.width) * Int(rhs.height)
      } ) {
          photoOutput?.maxPhotoDimensions = largestDimension
      }
      
      session?.commitConfiguration()
      session?.startRunning()
    • 7:21 - Update AVCapturePhotoSettings

      import AVFoundation
      
      let settings = AVCapturePhotoSettings()
      settings.maxPhotoDimensions = dimension.cmVideoDimensionsValue
      settings.photoQualityPrioritization = .quality
      
      var delegate: AVCapturePhotoCaptureDelegate?
      
      // Configure photo request delegate
      
      if let delegate {
       photoOutput?.capturePhoto(with: settings, delegate: delegate)
      }
    • 8:59 - Prepare resources for the capture

      import AVFoundation
      
      let prepareSettings = AVCapturePhotoSettings()
      prepareSettings.maxPhotoDimensions = photoOutput.maxPhotoDimensions
      prepareSettings.photoQualityPrioritization = .quality
      
      photoOutput.setPreparedPhotoSettingsArray([prepareSettings]) { prepared, error in
        if let error = error {
          print("Failed to prepare: \(error)")
            return
        }
        print("Pipeline prepared: \(prepared)")
      }
      
      // Later, when ready to capture — create NEW settings
      let captureSettings = AVCapturePhotoSettings()
      captureSettings.maxPhotoDimensions = photoOutput.maxPhotoDimensions
      captureSettings.photoQualityPrioritization = quality
      photoOutput.capturePhoto(with: captureSettings, delegate: self)
    • 0:00 - Introduction
    • The tradeoffs high-resolution photo capture requires — particularly between processing time and image quality — and what the session covers: photo types, configuring and capturing them, and keeping your app responsive.

    • 0:52 - High-resolution photos
    • Explore the different photo resolutions available across iPhone cameras, including 12MP, 24MP, and 48MP, and how the photonic engine balances light and detail.

    • 4:07 - Types of captures
    • Learn about the four types of high resolution captures you can request: fully processed photos, exposure brackets, Bayer RAW, and Apple ProRAW.

    • 5:20 - Configure a capture session
    • An overview of AVCaptureSession setup for high resolution photos. Learn how to select quality prioritization, configure maximum photo dimensions, and preallocate resources.

    • 9:41 - Responsive capture best practices
    • Keep your app fast and responsive by implementing overlapping captures, deferred photo processing, and fast capture prioritization to minimize shot-to-shot delay.

Developer Footer

  • Videos
  • WWDC26
  • Implement high resolution photo capture
  • Open Menu Close Menu
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    • App Store
    Open Menu Close Menu
    • Swift
    • SwiftUI
    • Swift Playground
    • TestFlight
    • Xcode
    • Xcode Cloud
    • Icon Composer
    • SF Symbols
    Open Menu Close Menu
    • Accessibility
    • Accessories
    • Apple Intelligence
    • Audio & Video
    • Augmented Reality
    • Business
    • Design
    • Distribution
    • Education
    • Games
    • Health & Fitness
    • In-App Purchase
    • Localization
    • Maps & Location
    • Machine Learning & AI
    • Security
    • Safari & Web
    Open Menu Close Menu
    • Documentation
    • Downloads
    • Sample Code
    • Videos
    Open Menu Close Menu
    • Help Guides & Articles
    • Contact Us
    • Forums
    • Feedback & Bug Reporting
    • System Status
    Open Menu Close Menu
    • Apple Developer
    • App Store Connect
    • Certificates, IDs, & Profiles
    • Feedback Assistant
    Open Menu Close Menu
    • Apple Developer Program
    • Apple Developer Enterprise Program
    • App Store Small Business Program
    • MFi Program
    • Mini Apps Partner Program
    • News Partner Program
    • Video Partner Program
    • Security Bounty Program
    • Security Research Device Program
    Open Menu Close Menu
    • Meet with Apple
    • Apple Developer Centers
    • App Store Awards
    • Apple Design Awards
    • Apple Developer Academies
    • WWDC
    Read the latest news.
    Get the Apple Developer app.
    Copyright © 2026 Apple Inc. All rights reserved.
    Terms of Use Privacy Policy Agreements and Guidelines