Wednesday, March 25, 2020

Xcode 11.4 and Swift 5.2

Xcode 11.4 is now available for download (release notes). Alas, it requires Catalina.

Ted Kremenek:

Swift 5.2 is now officially released! 🎉


We have drastically improved the quality and precision of error messages in the Swift compiler.


The compiler leaves “breadcrumbs” when it encounters failures while inferring types in an expression, recording every specific failure along the way. These breadcrumbs allow the compiler to produce precise diagnostics, often with actionable fixes, that lead the developer toward correct code. Below are a few examples of improved error messages.


In Swift 5.2, the internal representation of declarations in the compiler is immutable, and the code generation phase of the compiler is able to trigger lazy evaluation of requests, the result of which are cached. Since requests are more fine-grained than the old validation step, this improves performance by avoiding wasted work. It also improves correctness, fixing a significant number of correctness issues where the type checker did not anticipate needing to validate something that was later required for code generation.

Code completion is also improved.

Esther Hare (Mac Rumors):

Universal purchase for Mac apps now available.


Update (2020-03-27): See also: SDK API Differences.

Update (2020-05-22): Craig Hockenberry:

Here’s a thing I never thought would happen: I need to stay on Mojave on my main development machine, and the current version of Xcode won’t run there, so I’ve stopped updating my iPhone so I can continue to install and debug.

Good job, folks.

1 Comment RSS · Twitter

I got it to run in Mojave (for my iOS 13.4 needs) by editing the plist.

Leave a Comment