iOS

13

What's New

iOS 13 introduces SwiftUI, a declarative UI framework with Combine reactive programming support and Core Data integration, alongside significant audio/video enhancements including HEVC alpha encoding and AVAudioEngine improvements. Security improvements include URLSession MIME type sniffing removal and PAC scheme restrictions. Multiple legacy APIs are deprecated in favor of modern alternatives, requiring developer migration for continued compatibility.

Highlights

Breaking Changes

  • UIApplicationExitsOnSuspend key no longer supported; apps must handle modern multitasking
  • URLSession no longer sniffs MIME type for application/octet-stream for enhanced security
  • URLSessionTask with GET method containing body now produces NSURLErrorDataLengthExceedsMaximum error
  • CNCopyCurrentNetworkInfo API changed to address privacy concerns
  • FTP and File URL schemes removed from Proxy Automatic Configuration (PAC)
  • URLSession and NSURLConnection no longer support SPDY protocol
  • UITableViewCell no longer modifies contentView backgroundColor/isOpaque on highlight/selection
  • OpenAL framework deprecated; transition to AVAudioEngine for spatial audio
  • Inter-App Audio deprecated; use Audio Units instead
  • Carbon component-based Audio Units deprecated with future removal planned

Deprecations

  • OpenAL framework deprecated in favor of AVAudioEngine
  • AUGraph deprecated; use AVAudioEngine instead
  • Inter-App Audio deprecated; migrate to Audio Units
  • Carbon component-based Audio Units deprecated
  • Legacy Core Audio HAL audio hardware plug-ins no longer supported
  • NavigationDestinationLink and DynamicNavigationDestinationLink deprecated in SwiftUI
  • HAlignment and VAlignment deprecated; use HorizontalAlignment and VerticalAlignment
  • SelectionManager protocol removed; use Optional and Set directly
  • StaticMember protocol deprecated in SwiftUI
  • relativeWidth, relativeHeight, and relativeSize modifiers deprecated

Recent Releases

All releases →