アプリの動作環境や、対応OSバージョンに制限があるライブラリ(フレームワーク)等の要件から、時には古いバージョンのXcodeを使用せざるを得ない状況も生じます。
そうした旧バージョンのXcodeを利用する際、どのSwiftの言語バージョンに対応しているのか、気になったため調査を行いました。
Swiftのバージョン互換性について
Swiftは4未満では破壊的なアップデートなどもあり、コード間に互換性がありませんでした。ABIの安定化も初期の頃はなかったので、異なったバージョンをターゲットにしたフレームワークを使用することが出来ないこともありました。
しかし、現在(記事執筆時点)では、状況は大きく変わりました。Swift 4以降では、異なる言語バージョンをターゲットとするフレームワークを組み合わせて利用することが可能になっています。
ただし、いくつかの機能については、古いバージョンのSwiftでは利用できません。
コンカレンシーについて
コンカレンシーの利用には、Swift 5.5以降、および、コンカレンシーのタイプに対応したSwift標準ライブラリーが必要となります。そのため、アップルプラットフォームでは、デプロイメントターゲットの設定を以下の値以上にしなければ利用できません。
| OS | Deployment Target |
|---|---|
| iOS | 13 |
| macOS | 10.15 |
| tvOS | 13 |
| watchOS | 6.0 |
Xcodeの動作環境
Xcodeのバージョン別の動作環境については、次のページにまとめています。

Swift 6.x
Swift 6.xに対応しているXcodeのバージョンは次のようになっていました。
| Swiftのバージョン | Xcodeのバージョン |
|---|---|
| 6.3 | Xcode 26.3 |
| 6.2.3 | Xcode 26.2 |
| 6.2.1 | Xcode 26.1 |
| 6.2 | Xcode 26 |
| 6.0 | Xcode 16 |
Swift 5.x
Swift 5.xに対応しているXcodeのバージョンは次のようになっていました。
| Swiftのバージョン | Xcodeのバージョン |
|---|---|
| 5.10 | Xcode 15.3 |
| 5.9 | Xcode 15 |
| 5.8.1 | Xcode 14.3.1 |
| 5.8 | Xcode 14.3 |
| 5.7 | Xcode 14 |
| 5.6 | Xcode 13.3 |
| 5.5 | Xcode 13.0 |
| 5.4 | Xcode 12.5 |
| 5.3 | Xcode 12.0 |
| 5.2 | Xcode 11.4 |
| 5.1 | Xcode 11.2 |
| 5.0 | Xcode 10.2 |
Xcode 10.2が登場したのはmacOS Mojave 10.4の頃です。Swift 5.xが長い時間をかけて進歩して行っていることが実感できます。
Swift 4.x
Swift 4.xに対応しているXcodeのバージョンは次のようになっていました。
| Swiftのバージョン | Xcodeのバージョン |
|---|---|
| 4.2 | Xcode 10.0 |
| 4.1 | Xcode 9.3 |
| 4.0 | Xcode 9.0 |
Swift 3.x
Swift 3.xに対応しているXcodeのバージョンは次のようになっていました。
| Swiftのバージョン | Xcodeのバージョン |
|---|---|
| 3.1 | Xcode 8.3 |
| 3.0 | Xcode 8.0 |
Swift 2.x
Swift 2.xに対応しているXcodeのバージョンは次のようになっていました。
| Swiftのバージョン | Xcodeのバージョン |
|---|---|
| 2.2 | Xcode 7.3 |
| 2.1 | Xcode 7.1 |
| 2.0 | Xcode 7.0 |
Swift 1.x
Swift 1.xに対応しているXcodeのバージョンは次のようになっていました。
| Swiftのバージョン | Xcodeのバージョン |
|---|---|
| 1.2 | Xcode 6.3 |
| 1.1 | Xcode 6.1.1 |
| 1.0 | Xcode 6.0 |
関連記事











