API Differences in AVFoundation in iOS 18.0

It can be difficult to find what changed in Apple SDKs. These pages are algorithmically generated and show what is new in AVFoundation in the iOS 18.0 SDK.

Table of Contents

Structs

AVMergedMetrics
AVMetrics
AVPlayerItemIntegratedTimeline
BoundaryTimes
AVPlayerItemIntegratedTimeline
PeriodicTimes

Enums

AVAssetExportSession
State

Typealiases

AsyncIterator
public typealias Element = MetricEvent
AsyncIterator
public typealias Element = (AVFoundation.AVMetricEvent, any AVFoundation.AVMetricEventStreamPublisher)
AsyncIterator
@_implements(_Concurrency.AsyncIteratorProtocol, Failure) public typealias __AsyncIteratorProtocol_Failure = any Swift.Error
AsyncIterator
@_implements(_Concurrency.AsyncIteratorProtocol, Failure) public typealias __AsyncIteratorProtocol_Failure = any Swift.Error
Images
@_implements(_Concurrency.AsyncIteratorProtocol, Failure) public typealias __AsyncIteratorProtocol_Failure = Swift.Never
Images
@_implements(_Concurrency.AsyncSequence, Failure) public typealias __AsyncSequence_Failure = Swift.Never
typedef NSString *AVAssetImageGeneratorDynamicRangePolicy
typedef NSString *AVCaptionConversionWarningType
typedef NSString *AVCaptionConversionAdjustmentType
typedef NSString *AVSpatialCaptureDiscomfortReason
typedef NSString *AVCaptionSettingsKey

Functions & Methods

AVAssetExportSession
public func states(updateInterval: Foundation.TimeInterval = .infinity) -> some Swift.Sendable & _Concurrency.AsyncSequence<AVFoundation.AVAssetExportSession.State, Swift.Never>
AVCaption
@nonobjc public func backgroundColor(at index: Swift.String.Index) -> (CoreGraphics.CGColor?, Swift.Range<Swift.String.Index>)
AVCaption
@nonobjc public func decoration(at index: Swift.String.Index) -> (AVFoundation.AVCaption.Decoration, Swift.Range<Swift.String.Index>)
AVCaption
@nonobjc public func fontStyle(at index: Swift.String.Index) -> (AVFoundation.AVCaption.FontStyle, Swift.Range<Swift.String.Index>)
AVCaption
@nonobjc public func fontWeight(at index: Swift.String.Index) -> (AVFoundation.AVCaption.FontWeight, Swift.Range<Swift.String.Index>)
AVCaption
@nonobjc public func ruby(at index: Swift.String.Index) -> (AVFoundation.AVCaption.Ruby?, Swift.Range<Swift.String.Index>)
AVCaption
@nonobjc public func textColor(at index: Swift.String.Index) -> (CoreGraphics.CGColor?, Swift.Range<Swift.String.Index>)
AVCaption
@nonobjc public func textCombine(at index: Swift.String.Index) -> (AVFoundation.AVCaption.TextCombine, Swift.Range<Swift.String.Index>)
AVCaptureIndexPicker
@nonobjc public func setActionQueue(_ actionQueue: Dispatch.DispatchQueue, action: @escaping (Swift.Int) -> ())
AVCaptureSlider
@nonobjc public func setActionQueue(_ actionQueue: Dispatch.DispatchQueue, action: @escaping (Swift.Float) -> ())
AVMetricEventStreamPublisher
public func allMetrics() -> AVFoundation.AVMetrics<AVFoundation.AVMetricEvent>
AVMetricEventStreamPublisher
public func metrics<MetricEvent>(forType metricType: MetricEvent.Type) -> AVFoundation.AVMetrics<MetricEvent> where MetricEvent : AVFoundation.AVMetricEvent
AVMutableCaption
@nonobjc public func removeBackgroundColor(in range: Foundation.NSRange)
AVMutableCaption
@nonobjc public func removeDecoration(in range: Foundation.NSRange)
AVMutableCaption
@nonobjc public func removeFontStyle(in range: Foundation.NSRange)
AVMutableCaption
@nonobjc public func removeFontWeight(in range: Foundation.NSRange)
AVMutableCaption
@nonobjc public func removeRuby(in range: Foundation.NSRange)
AVMutableCaption
@nonobjc public func removeTextColor(in range: Foundation.NSRange)
AVMutableCaption
@nonobjc public func removeTextCombine(in range: Foundation.NSRange)
AVMutableCaption
@nonobjc public func setBackgroundColor(_ backgroundColor: CoreGraphics.CGColor, in range: Foundation.NSRange)
AVMutableCaption
@nonobjc public func setDecoration(_ decoration: AVFoundation.AVCaption.Decoration, in range: Foundation.NSRange)
AVMutableCaption
@nonobjc public func setFontStyle(_ fontStyle: AVFoundation.AVCaption.FontStyle, in range: Foundation.NSRange)
AVMutableCaption
@nonobjc public func setFontWeight(_ fontWeight: AVFoundation.AVCaption.FontWeight, in range: Foundation.NSRange)
AVMutableCaption
@nonobjc public func setRuby(_ rubyText: AVFoundation.AVCaption.Ruby, in range: Foundation.NSRange)
AVMutableCaption
@nonobjc public func setTextColor(_ textColor: CoreGraphics.CGColor, in range: Foundation.NSRange)
AVMutableCaption
@nonobjc public func setTextCombine(_ textCombine: AVFoundation.AVCaption.TextCombine, in range: Foundation.NSRange)
AVPlayerItemIntegratedTimeline
public func boundaryTimes(for segment: AVFoundation.AVPlayerItemSegment, offsetsIntoSegment: [CoreMedia.CMTime]) -> AVFoundation.AVPlayerItemIntegratedTimeline.BoundaryTimes
AVPlayerItemIntegratedTimeline
public func periodicTimes(forInterval: CoreMedia.CMTime) -> AVFoundation.AVPlayerItemIntegratedTimeline.PeriodicTimes
AVPlayerItemIntegratedTimelineSnapshot
public func segmentAndOffsetIntoSegment(forTimelineTime: CoreMedia.CMTime) -> (AVFoundation.AVPlayerItemSegment, CoreMedia.CMTime)
AVVideoOutputSpecification
public func setOutputSettings(_ outputSettings: [Swift.String : any Swift.Sendable]?, for tagCollection: [CoreMedia.CMTag])
AVCaptureDeviceInput
- (BOOL)isMultichannelAudioModeSupported:(AVCaptureMultichannelAudioMode)multichannelAudioMode;
AVCaptureDeviceInput
- (BOOL)isWindNoiseRemovalSupported;
AVCaptureDeviceInput
- (BOOL)isWindNoiseRemovalEnabled;
AVAssetDownloadDelegate
- (void)URLSession:(nonnull NSURLSession *)session assetDownloadTask:(nonnull AVAssetDownloadTask *)assetDownloadTask willDownloadToURL:(nonnull NSURL *)location;
AVAssetVariantQualifier
+ (nonnull NSPredicate *)predicateForAudioSampleRate:(double)sampleRate mediaSelectionOption:(nullable AVMediaSelectionOption *)mediaSelectionOption operatorType:(NSPredicateOperatorType)operatorType;
AVVideoCompositionValidation
- (BOOL)isValidForTracks:(nonnull NSArray<AVAssetTrack *> *)tracks assetDuration:(CMTime)duration timeRange:(CMTimeRange)timeRange validationDelegate:(nullable id<AVVideoCompositionValidationHandling>)validationDelegate;
AVCaptureSession
- (void)setControlsDelegate:(nullable id<AVCaptureSessionControlsDelegate>)controlsDelegate queue:(nullable dispatch_queue_t)controlsDelegateCallbackQueue;
AVCaptureSession
- (BOOL)canAddControl:(nonnull AVCaptureControl *)control;
AVCaptureSession
- (void)addControl:(nonnull AVCaptureControl *)control;
AVCaptureSession
- (void)removeControl:(nonnull AVCaptureControl *)control;
AVVideoOutputSpecification
- (void)setOutputSettings:(nullable NSDictionary<NSString *,id> *)outputSettings forTagCollection:(nonnull CMTagCollectionRef)tagCollection;
AVCapturePhotoOutput
- (nonnull NSArray<AVVideoCodecType> *)supportedRawPhotoCodecTypesForRawPhotoPixelFormatType:(OSType)pixelFormatType fileType:(nonnull AVFileType)fileType;
AVCapturePhotoOutput
- (BOOL)isConstantColorSupported;
AVCapturePhotoOutput
- (BOOL)isConstantColorEnabled;
AVCapturePhotoOutput
- (BOOL)isShutterSoundSuppressionSupported;
AVCapturePhotoSettings
- (BOOL)isConstantColorEnabled;
AVCapturePhotoSettings
- (BOOL)isConstantColorFallbackPhotoDeliveryEnabled;
AVCapturePhotoSettings
- (BOOL)isShutterSoundSuppressionEnabled;
AVCapturePhoto
- (BOOL)isConstantColorFallbackPhoto;
extern AVCaptionDimension AVCaptionDimensionMake(CGFloat value, AVCaptionUnitsType units)
extern AVCaptionPoint AVCaptionPointMake(AVCaptionDimension x, AVCaptionDimension y)
extern AVCaptionSize AVCaptionSizeMake(AVCaptionDimension width, AVCaptionDimension height)
AVCaptureDevice
- (BOOL)isAutoVideoFrameRateEnabled;
AVCaptureDeviceFormat
- (BOOL)isAutoVideoFrameRateSupported;
AVCaptureFileOutput
- (void)pauseRecording;
AVCaptureFileOutput
- (void)resumeRecording;
AVCaptureFileOutput
- (BOOL)isRecordingPaused;
AVCaptureFileOutputRecordingDelegate
- (void)captureOutput:(nonnull AVCaptureFileOutput *)output didPauseRecordingToOutputFileAtURL:(nonnull NSURL *)fileURL fromConnections:(nonnull NSArray<AVCaptureConnection *> *)connections;
AVCaptureFileOutputRecordingDelegate
- (void)captureOutput:(nonnull AVCaptureFileOutput *)output didResumeRecordingToOutputFileAtURL:(nonnull NSURL *)fileURL fromConnections:(nonnull NSArray<AVCaptureConnection *> *)connections;
AVCaptureMovieFileOutput
- (BOOL)isSpatialVideoCaptureSupported;
AVCaptureMovieFileOutput
- (BOOL)isSpatialVideoCaptureEnabled;

Properties & Constants

AVCaptureDevice.Format
@nonobjc public var systemRecommendedExposureBiasRange: Swift.ClosedRange<Swift.Float>?
AVCaptureDevice.Format
@nonobjc public var systemRecommendedVideoZoomRange: Swift.ClosedRange<CoreFoundation.CGFloat>?
AVCaptureSlider
@nonobjc public var prominentValues: [Swift.Float]
AVMetricPlayerItemLikelyToKeepUpEvent
@nonobjc public var loadedTimeRanges: [CoreMedia.CMTimeRange]
AVMetricPlayerItemVariantSwitchEvent
@nonobjc public var loadedTimeRanges: [CoreMedia.CMTimeRange]
AVMetricPlayerItemVariantSwitchStartEvent
@nonobjc public var loadedTimeRanges: [CoreMedia.CMTimeRange]
AVPlayerItemSegment
@nonobjc public var loadedTimeRanges: [CoreMedia.CMTimeRange]
extern const AVAssetPlaybackConfigurationOption _Nonnull AVAssetPlaybackConfigurationOptionSpatialVideo
AVCaptureDeviceInput
@property(nonatomic, assign, unsafe_unretained, readwrite) AVCaptureMultichannelAudioMode multichannelAudioMode;
AVCaptureDeviceInput
@property(nonatomic, readonly, getter = isWindNoiseRemovalSupported) BOOL windNoiseRemovalSupported;
AVCaptureDeviceInput
@property(nonatomic, assign, unsafe_unretained, readwrite, getter = isWindNoiseRemovalEnabled) BOOL windNoiseRemovalEnabled;
extern const AVMetadataIdentifier AVMetadataIdentifierQuickTimeMetadataFullFrameRatePlaybackIntent
extern API_UNAVAILABLE(watchos) const AVAssetImageGeneratorDynamicRangePolicy AVAssetImageGeneratorDynamicRangePolicyForceSDR
extern API_UNAVAILABLE(watchos) const AVAssetImageGeneratorDynamicRangePolicy AVAssetImageGeneratorDynamicRangePolicyMatchSource
AVAssetImageGenerator
@property(nonatomic, copy, readwrite) API_UNAVAILABLE(watchos) AVAssetImageGeneratorDynamicRangePolicy dynamicRangePolicy;
extern const AVCaptionConversionWarningType _Nonnull AVCaptionConversionWarningTypeExcessMediaData
extern const AVCaptionConversionAdjustmentType _Nonnull AVCaptionConversionAdjustmentTypeTimeRange
extern const NSNotificationName _Nonnull AVPlayerIntegratedTimelineSnapshotsOutOfSyncNotification
extern NSString *const _Nonnull AVPlayerIntegratedTimelineSnapshotsOutOfSyncReasonKey
extern const AVPlayerIntegratedTimelineSnapshotsOutOfSyncReason _Nonnull AVPlayerIntegratedTimelineSnapshotsOutOfSyncReasonSegmentsChanged
extern const AVPlayerIntegratedTimelineSnapshotsOutOfSyncReason _Nonnull AVPlayerIntegratedTimelineSnapshotsOutOfSyncReasonCurrentSegmentChanged
extern const AVPlayerIntegratedTimelineSnapshotsOutOfSyncReason _Nonnull AVPlayerIntegratedTimelineSnapshotsOutOfSyncReasonLoadedTimeRangesChanged
AVPlayerItemIntegratedTimelineSupport
@property(atomic, readonly) AVPlayerItemIntegratedTimeline * _Nonnull integratedTimeline;
AVCaptureSession
@property(nonatomic, readonly) BOOL supportsControls;
AVCaptureSession
@property(nonatomic, readonly) NSInteger maxControlsCount;
AVCaptureSession
@property(nonatomic, readonly, nullable) id<AVCaptureSessionControlsDelegate> controlsDelegate;
AVCaptureSession
@property(nonatomic, readonly, nullable) dispatch_queue_t controlsDelegateCallbackQueue;
AVCaptureSession
@property(nonatomic, readonly) API_UNAVAILABLE(visionos) NSArray<__kindof AVCaptureControl *> *controls;
AVCaptureSession
@property(nonatomic, assign, unsafe_unretained, readwrite) BOOL configuresApplicationAudioSessionToMixWithOthers;
extern const AVVideoCodecType AVVideoCodecTypeJPEGXL
extern const AVVideoCodecType AVVideoCodecTypeAppleProRes4444XQ
extern NSString *const AVVideoTransferFunction_IEC_sRGB
extern const AVFileType AVFileTypeAppleiTT
extern const AVFileType AVFileTypeSCC
AVVideoOutputSpecification
@property(nonatomic, copy, readwrite, nullable) NSDictionary<NSString *,id> *defaultOutputSettings;
AVPlayerVideoOutputConfiguration
@property(nonatomic, readonly) CGAffineTransform preferredTransform;
AVCapturePhotoOutput
@property(nonatomic, readonly) API_UNAVAILABLE(watchos) NSArray<AVVideoCodecType> *availableRawPhotoCodecTypes;
AVCapturePhotoOutput
@property(nonatomic, readonly, getter = isConstantColorSupported) BOOL constantColorSupported;
AVCapturePhotoOutput
@property(nonatomic, assign, unsafe_unretained, readwrite, getter = isConstantColorEnabled) BOOL constantColorEnabled;
AVCapturePhotoOutput
@property(nonatomic, readonly, getter = isShutterSoundSuppressionSupported) BOOL shutterSoundSuppressionSupported;
AVCapturePhotoSettings
@property(nonatomic, copy, readwrite, nullable) NSDictionary<NSString *,id> *rawFileFormat;
AVCapturePhotoSettings
@property(nonatomic, assign, unsafe_unretained, readwrite, getter = isConstantColorEnabled) BOOL constantColorEnabled;
AVCapturePhotoSettings
@property(nonatomic, assign, unsafe_unretained, readwrite, getter = isConstantColorFallbackPhotoDeliveryEnabled) BOOL constantColorFallbackPhotoDeliveryEnabled;
AVCapturePhotoSettings
@property(nonatomic, assign, unsafe_unretained, readwrite, getter = isShutterSoundSuppressionEnabled) BOOL shutterSoundSuppressionEnabled;
AVCapturePhoto
@property(atomic, readonly, nullable) CVPixelBufferRef constantColorConfidenceMap;
AVCapturePhoto
@property(atomic, readonly) float constantColorCenterWeightedMeanConfidenceLevel;
AVCapturePhoto
@property(atomic, readonly, getter = isConstantColorFallbackPhoto) BOOL constantColorFallbackPhoto;
AVPlayerInterstitialEvent
@property(nonatomic, readonly) AVPlayerInterstitialEventTimelineOccupancy timelineOccupancy;
AVPlayerInterstitialEvent
@property(nonatomic, readonly) BOOL supplementsPrimaryContent;
AVPlayerInterstitialEvent
@property(nonatomic, readonly) BOOL contentMayVary;
MutableEvents
@property(nonatomic, assign, unsafe_unretained, readwrite) AVPlayerInterstitialEventTimelineOccupancy timelineOccupancy;
MutableEvents
@property(nonatomic, assign, unsafe_unretained, readwrite) BOOL supplementsPrimaryContent;
MutableEvents
@property(nonatomic, assign, unsafe_unretained, readwrite) BOOL contentMayVary;
MutableEvents
@property(nonatomic, assign, unsafe_unretained, readwrite) CMTime plannedDuration;
extern const AVMetadataKey AVMetadataQuickTimeMetadataKeyFullFrameRatePlaybackIntent
AVCaptureDevice
@property(nonatomic, assign, unsafe_unretained, readwrite, getter = isAutoVideoFrameRateEnabled) BOOL autoVideoFrameRateEnabled;
AVCaptureDeviceVideoZoom
@property(nonatomic, readonly) CGFloat displayVideoZoomFactorMultiplier;
extern API_UNAVAILABLE(visionos) const AVSpatialCaptureDiscomfortReason AVSpatialCaptureDiscomfortReasonNotEnoughLight
extern API_UNAVAILABLE(visionos) const AVSpatialCaptureDiscomfortReason AVSpatialCaptureDiscomfortReasonSubjectTooClose
AVCaptureDeviceSpatialCapture
@property(nonatomic, readonly) API_UNAVAILABLE(visionos) NSSet<AVSpatialCaptureDiscomfortReason> *spatialCaptureDiscomfortReasons;
AVCaptureDeviceFormat
@property(nonatomic, readonly, nullable) AVZoomRange *systemRecommendedVideoZoomRange;
AVCaptureDeviceFormat
@property(nonatomic, readonly, nullable) AVExposureBiasRange *systemRecommendedExposureBiasRange;
AVCaptureDeviceFormat
@property(nonatomic, readonly, getter = isAutoVideoFrameRateSupported) BOOL autoVideoFrameRateSupported;
extern const AVCaptionSettingsKey AVCaptionMediaTypeKey
extern const AVCaptionSettingsKey AVCaptionMediaSubTypeKey
extern const AVCaptionSettingsKey AVCaptionTimeCodeFrameDurationKey
extern const AVCaptionSettingsKey AVCaptionUseDropFrameTimeCodeKey
AVCaptureFileOutput
@property(nonatomic, readonly, getter = isRecordingPaused) BOOL recordingPaused;
AVCaptureMovieFileOutput
@property(nonatomic, readonly, getter = isSpatialVideoCaptureSupported) BOOL spatialVideoCaptureSupported;
AVCaptureMovieFileOutput
@property(nonatomic, assign, unsafe_unretained, readwrite, getter = isSpatialVideoCaptureEnabled) BOOL spatialVideoCaptureEnabled;

Conformances

AVAssetDownloadStorageManager
@unchecked Swift.Sendable
AVAssetResourceLoader
@unchecked Swift.Sendable
AVAssetResourceLoadingContentInformationRequest
@unchecked Swift.Sendable
AVAssetResourceLoadingDataRequest
@unchecked Swift.Sendable
AVAssetResourceLoadingRequest
@unchecked Swift.Sendable
AVAssetResourceLoadingRequestor
@unchecked Swift.Sendable
AVAssetResourceRenewalRequest
@unchecked Swift.Sendable
AVCaptionGroup
@unchecked Swift.Sendable
AVPlaybackCoordinator
@unchecked Swift.Sendable

Initializers

AVCaptureSlider
@nonobjc convenience public init(_ localizedTitle: Swift.String, symbolName: Swift.String, in range: Swift.ClosedRange<Swift.Float>)
AVCaptureSlider
@nonobjc convenience public init(_ localizedTitle: Swift.String, symbolName: Swift.String, in range: Swift.ClosedRange<Swift.Float>, step: Swift.Float)
AVCaptureSlider
@nonobjc convenience public init(_ localizedTitle: Swift.String, symbolName: Swift.String, values: [Swift.Float])

Protocols

AVMetricEventStreamPublisher
AVMetricEventStreamSubscriber
AVAssetReaderCaptionValidationHandling
AVCaptureSessionControlsDelegate
AVPlayerItemRenderedLegibleOutputPushDelegate

Classes

AVCaptureSystemExposureBiasSlider
AVAssetWriterInputCaptionAdaptor
AVCaptureIndexPicker
AVMetricEventStream
AVMetricEvent
AVMetricErrorEvent
AVMetricMediaResourceRequestEvent
AVMetricHLSPlaylistRequestEvent
AVMetricHLSMediaSegmentRequestEvent
AVMetricContentKeyRequestEvent
AVMetricPlayerItemLikelyToKeepUpEvent
AVMetricPlayerItemInitialLikelyToKeepUpEvent
AVMetricPlayerItemRateChangeEvent
AVMetricPlayerItemStallEvent
AVMetricPlayerItemSeekEvent
AVMetricPlayerItemSeekDidCompleteEvent
AVMetricPlayerItemVariantSwitchEvent
AVMetricPlayerItemVariantSwitchStartEvent
AVMetricPlayerItemPlaybackSummaryEvent
AVMetricDownloadSummaryEvent
AVCaptionConversionValidator
AVCaptionConversionWarning
AVCaptionConversionAdjustment
AVCaptionConversionTimeRangeAdjustment
AVCaptureSlider
AVRenderedCaptionImage
AVAssetReaderOutputCaptionAdaptor
AVPlayerItemSegment
AVPlayerItemIntegratedTimelineSnapshot
AVPlayerItemIntegratedTimeline
AVCaptionRenderer
AVCaptionRendererScene
AVCaptionRegion
AVMutableCaptionRegion
AVCaption
AVMutableCaption
AVCaptionRuby
AVCaptionFormatConformer
AVCaptureSystemZoomSlider
AVPlayerItemRenderedLegibleOutput
AVExposureBiasRange
AVCaptionGroup
AVCaptionGrouper
AVCaptureControl

Extensions

AVAssetReaderCaptionValidation
AVPlayerItemIntegratedTimelineControl
AVPlayerItemIntegratedTimelineObserver
Styling
Region
Animation
Styling
Region
Animation
AVAssetResourceLoaderCommonMediaClientDataSupport
AVCaptureDeviceBackgroundReplacement
AVCaptureDeviceFormatSpatialVideoCapture
AVCaptureDeviceFormatBackgroundReplacement