バージョン互換性
本書はSwift 6.2.3について説明しています。これはXcode 26.2にデフォルトで含まれているSwiftのバージョンです。Swift 6.2.3コンパイラを使用して、Swift 6.2.3、Swift 5、Swift 4.2、またはSwift 4で書かれたコードをビルドできます。
Swift 6.2.3コンパイラを使用してSwift 5言語モードのコードをビルドする場合、Swift 6.2.3の新機能を使用できます。これらの機能はデフォルトで有効になっているか、upcoming featureフラグによって有効化されます。ただし、厳格な並行性チェックを有効にするには、Swift 6.2.3言語モードにアップグレードする必要があります。
また、Xcode 15.3を使用してSwift 4およびSwift 4.2のコードをビルドする場合、ほとんどのSwift 5の機能は引き続き利用できます。ただし、以下の変更はSwift 5言語モードを使用するコードでのみ利用可能です:
- 不透明型を返す関数にはSwift 5.1ランタイムが必要です。
try?式は、すでにオプショナルを返す式に対して余分なオプショナルのレベルを導入しません。- 大きな整数リテラルの初期化式は、正しい整数型として推論されます。例えば、
UInt64(0xffff_ffff_ffff_ffff)はオーバーフローせずに正しい値に評価されます。
並行処理にはSwift 5言語モードと、対応する並行処理型を提供するSwift標準ライブラリのバージョンが必要です。Appleプラットフォームでは、デプロイメントターゲットを少なくともiOS 13、macOS 10.15、tvOS 13、watchOS 6、またはvisionOS 1に設定してください。
Swift 6.2.3で書かれたターゲットは、Swift 5、Swift 4.2、またはSwift 4で書かれたターゲットに依存でき、その逆も可能です。これは、複数のフレームワークに分割された大規模なプロジェクトがある場合、フレームワークごとにコードを新しい言語バージョンに移行できることを意味します。