Swift

See all tags

185 posts

Development

Introducing Swift Service Lifecycle

Swift Service Lifecycle is a new open-source Swift package designed to simplify and standardise the management of startup and shutdown sequences for server applications.

Development

Introducing Swift AWS Lambda Runtime

The Swift AWS Lambda Runtime is a new open-source Swift package that simplifies building server-less functions for AWS Lambda, enabling Swift developers to create scalable, cost-effective cloud solutions with low memory use and fast startup.

Development

Additional Linux Distributions

The Swift project now officially supports Ubuntu 20.04, CentOS 8, and Amazon Linux 2, alongside Ubuntu 16.04 and 18.04, with downloadable toolchains and Docker images available on Swift.org.

Development

Swift 5.3 Release Process

Swift 5.3 focuses on significant quality and performance improvements while expanding platform support to include Windows and additional Linux distributions.

Development

Swift 5.2 Released!

Swift 5.2 enhances the developer experience with improved compiler diagnostics, faster code completion, better debugging, and refined Swift Package Manager dependency handling.

Development

Announcing ArgumentParser

The Swift ArgumentParser library simplifies parsing command-line arguments with a type-safe, declarative approach using Swift features like property wrappers and reflection.

Development

Standard Library Preview Package

Swift 5 introduces the Standard Library Preview package, an open-source tool bundling accepted Swift Evolution features not yet in official releases, starting with SE-0270 for subrange operations like subranges(where:) and moveSubranges(_:to:) on collections, plus the RangeSet type.

Development

Library Evolution in Swift

Swift's library evolution support, enabled via BUILD_LIBRARY_FOR_DISTRIBUTION in Xcode or -enable-library-evolution in swiftc, allows framework authors to make additive API changes while maintaining binary compatibility, ensuring clients don't need recompilation.

Development

Introducing Swift Crypto

Swift Crypto is a new open-source Swift package that extends Apple CryptoKit's APIs to non-Apple platforms by using BoringSSL for cryptographic primitives, while deferring to CryptoKit on Apple systems for seamless cross-platform development.

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

Swift Numerics

The Swift Numerics open-source project introduces a modular Swift package for numerical computing, filling gaps in the Standard Library with modules like Real and Complex.

Development

SSWG Annual Update '19

The Swift Server Work Group (SSWG) has made significant progress in its first year, establishing an incubation process for defining high-quality Swift packages through community pitches, reviews, and acceptance.

Development

New Diagnostic Architecture Overview

Swift 5.2 enhances compiler diagnostics through a new infrastructure that uses 'constraint fixes' to pinpoint type errors more accurately, allowing the type checker to continue solving and report multiple issues with actionable guidance, unlike the old system's vague guesses.

Development

Swift 5.2 Release Process

Swift 5.2 focuses on delivering significant improvements in quality and performance.

Development

Swift 5.1 Released!

Swift 5.1 advances Swift 5 by introducing module stability, enabling binary frameworks that work across compiler versions, alongside library evolution support for resilient APIs.

Development

Apple Push Notification Device Tokens

In iOS 13 where a change in NSData’s description format—from a full hexadecimal string to a summarised form—breaks push notification workflows that relied on string manipulation of deviceToken in application(_:didRegisterForRemoteNotificationsWithDeviceToken:).

Development

Thread Sanitizer for Swift on Linux

Swift 5.1 introduces Thread Sanitizer on Linux, enabling runtime detection of data races in multithreaded code, which can cause unexpected behaviour or memory corruption despite Swift's single-threaded safety guarantees.

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

Swift 5 Released!

Swift 5.0 marks a major milestone with ABI stability on Apple platforms, integrating the Swift runtime into macOS, iOS, tvOS, and watchOS for smaller apps and better performance.

Development

UTF-8 String

Swift 5 changes String's preferred encoding from UTF-16 to UTF-8 for better performance in modern computing, like server-side work and C interop, while keeping efficient Objective-C bridging.

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

Behind the Proposal — SE-0200 Enhancing String Literals Delimiters to Support Raw Text

SE-0200 introduces custom delimiters for Swift string literals in Swift 5, allowing raw text that ignores escape sequences unless adjusted with matching pound signs, blending features from languages like Rust while retaining Swift's interpolation.