15
What's New
iOS 15 delivers major modernizations across in-app purchases, text handling, and async APIs. StoreKit 2 provides a Swift-native purchase framework with signed JWS transactions, while Foundation gains AttributedString with Markdown and grammar agreement. SwiftUI and URLSession embrace async/await patterns, and CreateML brings on-device machine learning to iOS for the first time.
Highlights
- StoreKit 2 modernizes in-app purchase APIs with Swift concurrency and JWS-signed transactions
- Foundation adds AttributedString type with Markdown support and automatic grammar agreement
- SwiftUI gains Markdown in LocalizedStringKey, AttributedString rendering, and text selection
- URLSession now supports async/await with AsyncSequence for streaming responses
- CreateML framework available on iOS for on-device machine learning tasks
- Audio Units now provide custom UI views for iOS hosts with tint color support
Breaking Changes
- StoreKit 2 API renamed Product.request(with:) to Product.products(for:)
- StoreKit 2 Transaction listener properties renamed to updates with new AsyncSequence types
- StoreKitError.userDidNotAuthenticate removed, use userCancelled instead
- VerificationResult.unverified now includes VerificationError parameter for failure reasons
- AVCapturePhoto methods return CGImage? instead of Unmanaged<CGImage>? in Swift
- Key commands no longer intercept text input in iOS 15 compiled apps without wantsPriorityOverSystemBehavior
- QuickType bar now shows spellchecking when autocorrectionType is no, set spellCheckingType to no to hide
Deprecations
- MKPinAnnotationView and MapPin marked as deprecated
- Cleartext HTTP PAC URL schemes deprecated, use HTTPS only
- AnimatableModifier protocol soft-deprecated, use Animatable directly
- controlProminence deprecated, use .borderedProminent ButtonStyle instead
- Function (Fn) shortcut modifier deprecated and reserved for system usage
Related Articles
Preparing Your App for iOS 15 and Android 12
Best practices and guidance for updating React Native apps to be compatible with iOS 15 and Android 12.