Thursday, September 12, 2024

Xcode 16

Apple:

Xcode 16 RC includes SDKs for iOS 18, iPadOS 18, tvOS 18, watchOS 11, macOS Sequoia 15, and visionOS 2. The Xcode 16 RC release supports on-device debugging in iOS 12 and later, tvOS 12 and later, watchOS 4 and later, and visionOS. Xcode 16 RC requires a Mac running macOS Sonoma 14.5 or later.

It seems like this will be the second year in a row that the new Xcode ships with a showstopper bug where Mac apps targeting an older OS version crash at launch.

JD Gadina:

FB14667312 - Invalid Binaries for macOS Apps Using QuickLook in Xcode 16 Beta

Florian Heidenreich:

It’s still not fixed with the Xcode 16 RC — so every macOS developer who uses QuickLook and targets macOS 11 and earlier will have to stick to Xcode 15.4 for the foreseable future.

Peter N Lewis:

Apple’s whole “we are going to change the behaviour of functions you use based on the SDK you link against” combined with “you have to use the new Xcode/SDK if you use a new macOS” is really infuriating.

Often, they wait until you link to a new SDK before changing behavior, but that is not the case with path extension change in Sequoia, nor for this change with creating Decimal numbers:

We narrowed down the issue to a change to the initializer for Decimal: Decimal(sign:exponent:significand). Prior to Beta 5, the sign passed into the initializer would be the sign of the Decimal. Passing .plus would result in a positive decimal, and passing .minus would result in a negative Decimal. This is regardless of the sign of the significant. In Beta 5, it seems that the sign passed into the init, and the sign of the significand are now negated. This means that passing .minus for sign and a negative Decimal for significand results in an unexpectedly positive Decimal value in Beta 5 alone. This behavior does not seem to be explicitly documented.

Arnaud:

Ah, I see the “nah let’s not care about which SDK the app was compiled with” SwiftUI philosophy is leaking

Previously:

Update (2024-09-17): Xcode 16 was released yesterday, but I do not see anything in the release notes about fixing the invalid binaries problem. As Xcode 15.4 doesn’t run on Sequoia, this means I need to stay with Sonoma.

Update (2024-09-19): softmaus:

FB14667312 is now at least mentioned [as a known issue] in the Release Notes – not in Xcode‘s though, but in macOS Sequoia 15.1 Beta 4’s.

yonato:

withCheckedContinuation crashes when compiling on XCode 16 and running on Sonoma (My Mac Designed for iPad)

Christian Beer:

It seems Xcode 16 broke Storyboard-References 🤯 Works with Xcode 15 but crashes when built with Xcode 16 because it doesn’t take the bundle but tries in main bundle 😩

Update (2024-10-21): Toomas Vahter:

Xcode 16 introduces a new execution engine for Previews, enhancing project configuration support and improving performance by up to 30%. However, it wraps SwiftUI views in AnyView for debug builds, which can hinder optimization. Users can override this behavior with a custom build setting to maintain performance in debugging.

Update (2024-11-26): Christian Beer:

Apple changed how the module name works in Storyboard References between Xcode 15 and 16. Our CI server still runs Xcode 15, so that the apps that worked with Xcode 16 (after „fixing“ the reference) now crash on start.

1 Comment RSS · Twitter · Mastodon


> As Xcode 15.4 doesn’t run on Sequoia, this means I need to stay with Sonoma

Xcode 15.4 runs fine in Sequoia, you just have to open it from a terminal using the full path to the binary e.g. /Applications/Xcode.app/Contents/MacOS/Xcode

Leave a Comment