Swift ネイティブ API をより幅広く利用できるようにし、将来的に新しい Swift 言語機能をサポートする能力を高めるため、Swift 拡張機能 SDK をメイン SDK に統合します。変更の内容と、想定されるお客様のプロジェクトへの影響は以下のとおりです。
変更点
Firebase for Apple SDK 10.17.0 以降、Swift 拡張機能 SDK は対応するメイン SDK に統合されていますたとえば、FirebaseFirestoreSwift
モジュールのすべての API が FirebaseFirestore
に追加されたため、これらの API にアクセスするために FirebaseFirestoreSwift
モジュールのインポートは不要になりました。
すべての Swift 拡張機能がメイン モジュールに組み込まれているため、拡張機能 SDK は不必要になり、非推奨になりました。Swift 拡張機能 SDK を含めたり使用したりすると、コンパイラ警告が表示され、早ければ 2024 年 2 月には Swift 拡張機能のリリースは完全に停止されます。
★ 注: 現在または過去にリリースされたバージョンの Swift 拡張機能は引き続き機能します。ただし、引き続き修正を受け取り、変更と新機能を活用できるようにするために、メイン モジュールから Swift API を使用するようにアプリを移行することをおすすめします。
この変更の重要な日程
2023 年 10 月
Swift 拡張機能 SDK はメイン SDK に統合されて非推奨となり、メイン SDK に置き換えられます。この変更については、バージョン 10.17.0 のリリースノートをご覧ください。
Swift 拡張機能 SDK API はメイン SDK モジュールから直接使用できるようになりました。次のメジャー バージョンがリリースまで、拡張機能 SDK は引き続き使用できますが、使用時に非推奨警告が表示されます。
2024 年 2 月移行
Google は、Swift 拡張機能の新バージョンのリリースを停止し、Swift 拡張機能を Firebase の Package.swift
から削除します。以前のバージョンも引き続きご利用いただけますが、更新を受け取ることはありません。
メイン モジュールから Swift ネイティブ API を使用するように移行する方法
現在 Swift 拡張機能 SDK を使用していない場合、対応は必要ありません。Swift 拡張機能 SDK を使用している場合は、プロジェクトで次の変更を行います。
ワークスペースの変更
Swift Package Manager
Firebase をバージョン 10.17.0 以降に更新したら、ターゲット設定の [General] タブにある [Frameworks, Libraries, and Embedded Content] セクションに移動し、Swift 拡張機能 SDK(FirebaseFirestoreSwift
など)を削除します。
CocoaPods
Firebase をバージョン 10.17.0 以降に更新したら、Podfile に移動し、ターゲットのフレームワークの追加セクションでプロジェクトの依存関係に対応する行を削除し、Swift 拡張機能 SDK(Pod FirebaseFirestoreSwift
など)を削除します。その後、pod install
コマンドを再実行します。
Zip ディストリビューションと Carthage
Firebase をバージョン 10.17.0 以降に更新したら、プロジェクト内の Swift 拡張機能 xcframeworks
(FirebaseFirestoreSwift.xcframework
など)をすべて削除します。
ソースコードの変更
以前に使用したすべての Swift 拡張機能 SDK について、以下の操作を行います。
- Swift 拡張機能 SDK を参照しているインポート ステートメントをすべて削除します。メイン SDK が個別にインポートされていない場合は、行の末尾にある
Swift
を削除して、Swift 拡張機能のインポートをメイン SDK のインポートに置き換える必要があります。 - Swift の明示的なモジュールの名前空間を使用して Swift 拡張機能 SDK タイプを参照している場合は、それらを対応するメイン SDK に置き換える必要があります。たとえば、
FirebaseFirestoreSwift.QueryPredicate
はFirebaseFirestore.QueryPredicate
に名前を変更する必要があります。