The Swift 6.0 release introduced the @isolated(any) attribute to address the challenge of tracking function isolation in async contexts, enabling inspection of a function’s isolation (e.g., MainActor or nonisolated) via a special isolation property of type (any Actor)?.
Development
AVSpeechSynthesizer
The article highlights the role of Swift’s AVSpeechSynthesizer, introduced in iOS 7 and macOS 10.14, in enabling speech synthesis for computer-assisted communication across languages, supporting over 30 languages with voices selected via IETF Language Tags.
Development
Formatter
The article explores the Formatter class in Swift’s Foundation framework, essential for transforming data into human-readable formats, addressing complexities like user language, calendar, and currency preferences.
Development
CAEmitterLayer
The article introduces CAEmitterLayer for creating a confetti effect on iOS, explaining its role as a high-performance particle system within the Quartz Core framework for rendering effects like confetti, fire, or rain.
Development
CoreGraphics Geometry Primitives
The article provides a concise guide to Core Graphics geometry types in Swift, essential for Quartz 2D drawing on Apple platforms, covering CGFloat, CGPoint, CGVector, CGSize, and CGRect, with iOS using a top-left origin and macOS a bottom-left origin by default.
Development
Guided Access
Guided Access, introduced in iOS 6, is an accessibility feature that locks an iOS app to prevent unintended exits, configurable to disable specific screen regions, hardware buttons, motion, keyboards, touch, or set time limits, activated via triple-clicking the Home/Side button or Siri.
Development
JavaScriptCore
The article explores the JavaScriptCore framework, which integrates WebKit’s JavaScript engine into Swift apps, allowing developers to execute JavaScript code and interoperate with Swift.
Development
Dictionary Services
The article explores dictionary-related APIs in Swift across Unix, macOS, and iOS, highlighting their role in features like spell check and semantic analysis.
Development
CharacterSet
The article introduces CharacterSet, a Foundation type in Swift for manipulating Unicode scalar values, distinct from Set<Character> despite its name, as it conforms to the SetAlgebra protocol rather than storing Character values directly.
Development
Locale
Internationalisation (i18n) means building your app so it can support many regions and languages. Localisation (l10n) means actually translating and adapting it for a specific market.
Development
FileManager
On Apple platforms, the FileManager class in the Foundation framework provides a robust abstraction for file system operations like creating, reading, moving, copying, and deleting files and directories, using paths or file URLs.
Development
DateComponents
The article introduces DateComponents, a versatile Foundation type in Swift for representing either a specific calendar date or a duration of time, emphasising its use over hardcoded time intervals like 60 * 60 * 24 for a day.
Development
CMDeviceMotion
The Core Motion framework in Swift simplifies access to iOS and watchOS device sensors, enabling innovative user interactions beyond touch by leveraging a dedicated motion coprocessor for efficient accelerometer, gyroscope, and magnetometer data processing.
Development
CMMotionActivity
The Core Motion framework’s CMMotionActivityManager on iOS and watchOS uses a device’s motion coprocessor to process sensor data from accelerometers, gyroscopes, and magnetometers, determining user activities like walking, running, cycling, automotive travel, or being stationary with varying confidence levels.
Development
NSDataDetector
NSDataDetector finds dates, links, phone numbers, addresses, and transit details in natural language text. It is a subclass of NSRegularExpression.
Development
NSDataAsset
Asset catalogs in Xcode let you store not just images but also data files like JSON. This helps apps load faster on first launch by avoiding network calls.
Development
NLLanguageRecognizer
Apple’s Natural Language framework (iOS 12+) finally lets developers use the same powerful language-detection technology that powers Siri and system features.
Development
UITextInputPasswordRules
Automatic Strong Passwords (iOS 12 / macOS Mojave) let Safari and your app generate truly random, high-entropy passwords that actually satisfy the site’s rules, no more “password too weak” after AutoFill.
Development
NSURL
NSURL is Foundation’s class for URLs. Create it with NSURL(string:), it returns nil if the string is invalid.
Development
CloudKit
CloudKit, a powerful framework by Apple, enables iOS developers to integrate iCloud functionality into apps, eliminating the need for custom backend code and server maintenance by providing seamless user authentication, data storage, and file management.
Development
NSCalendar Additions
NSCalendar offers many tools for working with dates beyond basic NSDateComponents.
Development
NSScanner
NSScanner wraps a string to pull out substrings and numbers. It has properties like caseSensitive (for matches), charactersToBeSkipped (ignores chars), scanLocation (current position), locale (for numbers).
Development
NSUndoManager
NSUndoManager gives you full undo/redo with almost no code. While you change something, tell the undo manager how to reverse it.
Development
Core Location in iOS 8
iOS 8 introduces significant updates to the Core Location framework, enhancing developer capabilities and user privacy through granular permissions, indoor positioning, and visit monitoring.
Development
NSOperation
NSOperation is an abstract class for a single unit of work. It manages state, priority, dependencies, and cancellation in a thread-safe way.