Swift 6.4公開、deferでのasyncとSwift Buildの既定化
Swift 6.4は、deferブロック内の非同期コード、モジュールセレクター、40倍速いWebAssemblyブリッジを導入し、パッケージマネージャーではSwift Buildが既定になりました。
3 分で読めます

数字で見る
- faster WebAssembly bridging through JavaScriptKit
- 40x
- platforms where Swift Build is now the package manager default
- 3
- the Android toolchain Swift Build now supports
- NDK 30
Swift 6.4が2026年9月15日に公開されました。AppleがXcode 27をiOS 27とともに出荷した翌日です。Swift.orgの告知は、目玉機能というより、これまで面倒だったことが面倒でなくなったという長い一覧のように読めます。日々開発する人にとっては、そのほうが良いリリースです。
重みのある変更は2つです。非同期コードがdeferブロックの中で動くようになりました。そして、オープンソースのビルドエンジンであるSwift Buildが、Linux、macOS、WindowsのSwift Package Managerで既定になりました。
言語の変更
deferブロックは、関数が返るときも例外を投げるときも、終了時に後片付けを実行します。これまではawaitを含められず、非同期の後片付けには回り道が必要でした。提案SE-0493がこの制限を取り除き、Swift.orgは完了が保証されると述べています。
残りの言語面の作業は、儀式的な記述を読み書きしなくて済むようにするものです。
| 提案 | 内容 |
|---|---|
| SE-0521 | オプショナルの位置でsomeとanyの型に括弧が不要に |
| SE-0491 | モジュールセレクター:::でシンボルがどのモジュール由来かを指定 |
| SE-0522 | 自分のコードからコンパイラ警告を出す@diagnose属性 |
| SE-0493 | defer内でのawait |
| SE-0504 | ある領域をキャンセルから守るwithTaskCancellationShield |
| SE-0517、SE-0527 | コピー不可の要素のためのコンテナUniqueBoxとUniqueArray |
| SE-0516 | コピー不可の型に対してfor-inを使えるようにするIterableプロトコル |
コピー不可の型には、欠けていたものも加わります。Equatable、Comparable、Hashableに準拠できるようになりました。コピー不可の型とは、コンパイラが複製を許さない型で、値が固有の資源を表す場面で使われます。比較とハッシュができるようになったことで、通常のコードで使いにくかった穴が埋まります。
ツールチェーンの変更
Swift Buildが既定になることは、Appleのプラットフォームの外でも意味を持ちます。同じエンジンがLinuxとWindowsでのパッケージビルドを動かすようになり、このリリースはAndroid向けの現行ネイティブツールキットであるNDK 30を通じたAndroid対応を追加しています。
WebAssemblyの話も進みました。Swift.orgによれば、SwiftからブラウザーのJavaScriptを呼び出すライブラリJavaScriptKitによるブリッジは40倍速くなりました。LinuxとWindowsのデバッグビルドは小さくなり、デバッグ用シンボルを収めるdSYMバンドルも同様です。
Subprocess 1.0は安定版になり、複数プラットフォームで使えます。他のプロセスを起動してやり取りするためのライブラリで、安定したことで、サーバー側やツール用のコードは独自のラッパーを抱え続けなくてよくなります。
もう1つはアプリ開発者ではなくコンプライアンス担当向けです。提案SE-0509により、パッケージマネージャーがSPDXまたはCycloneDX形式でソフトウェア部品表を生成できます。部品表とは、ビルドに含まれるすべての依存関係を機械可読で並べた一覧で、規制のある買い手はこれをますます求めています。
開発者にとっての意味
まずdeferからです。deferブロックから起動したTaskの中で後片付けをしている箇所をコードベースで探してください。すべての終了経路で非同期のcloseを実行するためだけに存在するdo-catchの構造も探してください。それらはSE-0493が不要にする回り道で、1つ取り除くごとに、起こりえなくなる不具合の種類が1つ増えます。
次に、Swift Buildの変更をビルドシステムの移行として扱ってください。実際そういうものだからです。Linuxでの挙動がmacOSと違っていたパッケージがあるなら、今すぐ再ビルドして、見たことのない警告を探してください。足元のエンジンが変わったのであり、既定の切り替えは、静かにプラットフォーム依存だった前提が表に出る瞬間です。
WebAssemblyとAndroidの追加は、あとで参照するために取っておく項目です。ブリッジの40倍の改善は、ブラウザーで出荷するのが妥当な範囲を変えますが、すでに試す寸前だった人に限られます。NDK 30によるAndroid対応も同じです。今週移植を始める理由にはなりませんが、移植が可能になった理由にはなります。
最後に、社内の誰かが部品表を求めてきたことがあるなら、SE-0509が無料で用意してくれます。一度生成し、依存関係の一覧が自分の出荷物と一致するか確かめ、リリースの工程に加えてください。半日で済み、放っておけば表計算の形で届く質問への答えになります。
出典
- Swift 6.4 Released - Swift.org
- Swift 6.4: What's New in Concurrency - SwiftLee
関連記事

iOS 27公開、Xcode 27も同日、非対応iPhoneはなし
Appleが2026年9月14日に6つのプラットフォーム更新を公開しました。アプリ起動は最大30%高速とされ、iPhone 11も対象に残っています。

Homebrew 7.0.0、Intel Mac向けbottleの提供を終了
Homebrew 7.0.0はIntel MacをTier 3に降格しました。brew installはソースからのコンパイル(ビルド)になり、サポートは2027年9月以降に終了します。

Asahi Linux、M3シリーズのMacを正式サポート
Asahi LinuxがM3、M3 Pro、M3 Maxのサポートをインストーラに取り込みました。Wi-Fi、USB 3、AV1デコードは動作します。スリープ、HDMI、高速な3Dは未対応です。