Conflict between "Approachable concurrency" vs "nonisolated(nonsending) by Default" vs "Default actor isolation" settings in Xcode
12:59 05 May 2026

Based on this article, "approachable concurrency" means using main actor by default, and use nonisolated(nonsending) by default. However, in Xcode, there are both "default actor isolation" setting and nonisolated(nonsending) by default" setting already.

This is very confusing - what if I have "approachable concurrency" enabled, but disable "nonisolated(nonsending) by default", and also set default actor isolation to nonisolated?

In another word, what's the point of having "approachable concurrency" setting? Will it be conflicting with the other 2 settings?

ios swift concurrency