DevelopmentLibrary 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.
DevelopmentIntroducing 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.
Monthly UpdatesMonthly update #0357 • January 2020
Monthly update 357 • January 2020 • 2020-01-01 - 2020-01-31
BooksThe 5 AM Club by Robin Sharma
In “The 5 AM Club,” renowned leadership expert Robin Sharma elucidates the transformative potential of early morning wake-up and purposeful daily commencement.
Monthly UpdatesMonthly update #0356 • December 2019
Monthly update 356 • December 2019 • 2019-12-01 - 2019-12-31
GemsTesseract
The day-night cycle and the cycle of the seasons have been an important part of human civilization for millennia.
DevelopmentAVSpeechSynthesizer
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.
Monthly UpdatesMonthly update #0355 • November 2019
Monthly update 355 • November 2019 • 2019-11-01 - 2019-11-30
BooksBlue Moon by Lee Child
Blue Moon pits Reacher against rival Albanian and Ukrainian gangs in a city turf war after he helps an elderly man robbed for loan shark debts.
DevelopmentSwift 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.
Monthly UpdatesMonthly update #0354 • October 2019
Monthly update 354 • October 2019 • 2019-10-01 - 2019-10-31
DevelopmentSSWG 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.
GemsEarth and Sun
The day-night cycle and the cycle of the seasons have been an important part of human civilization for millennia.
DevelopmentNew 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.
Monthly UpdatesMonthly update #0353 • September 2019
Monthly update 353 • September 2019 • 2019-09-01 - 2019-09-30
DevelopmentSwift 5.2 Release Process
Swift 5.2 focuses on delivering significant improvements in quality and performance.
DevelopmentSwift 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.
DevelopmentApple 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:)
.
Monthly UpdatesMonthly update #0352 • August 2019
Monthly update 352 • August 2019 • 2019-08-01 - 2019-08-31
DevelopmentThread 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.
Monthly UpdatesMonthly update #0351 • July 2019
Monthly update 351 • July 2019 • 2019-07-01 - 2019-07-31
GemsAlpha Compositing
Transparency may not seem particularly exciting. The GIF image format which allowed some pixels to show through the background was published over 30 years ago.
DevelopmentFormatter
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.
DevelopmentCAEmitterLayer
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.
Monthly UpdatesMonthly update #0350 • June 2019
Monthly update 350 • June 2019 • 2019-06-01 - 2019-06-30