Enabling Concurrency warnings in Xcode 14 – Donny Wals


If you wish to make it possible for your code adopts Swift concurrency as accurately as doable in Swift 5.7, it is a good suggestion to allow the Strict Concurrency Checking (SWIFT_STRICT_CONCURRENCY) in your undertaking.

To do that, choose your undertaking’s goal and navigate to the Construct Settings tab. Be sure you choose All from the record of settings that’s proven (Primary is the default) and sort Strict Concurrency within the searchbar to search out the Strict Concurrency Checking construct setting.

The screenshot beneath reveals all of the related elements so that you can see:

Screenshot of the strict concurrency checking settings

The default worth for this setting is Minimal which boils all the way down to the Compiler solely checking specific Sendable annotations amongst different issues. This setting is the least restrictive and enforces as little of Swift Concurrency’s constraints as doable in the meanwhile.

You possibly can bump your checking to Focused which is able to implement Sendable and actor-isolation checks in your code, and it’ll explicitly very that Sendable constraints are met if you mark one in all your varieties as Sendable. This mode is basically a little bit of a hybrid between the habits that is supposed in Swift 6, and what’s allowed now. You should utilize this mode to have a little bit of checking in your code that makes use of Swift Concurrency with out an excessive amount of warnings and / or errors in your present codebase.

With Full you’ll get the total suite of concurrency constraints, basically as they may work in Swift 6. Personally I might suggest enabling this setting for brand new initiatives the place you need all your code to be correctly checked instantly. In an present codebase this mode may be just a little too strict, however however it’ll flag a number of issues that shall be obligatory in Swift 6.

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles