このページでは、Firebase の使用時に発生する可能性のある Apple プラットフォーム固有の問題に関するヒントとトラブルシューティングについて説明します。
その他の課題がある場合や、該当する問題が以下で見つからない場合は、メインの Firebase のよくある質問で、Firebase 全体またはプロダクト固有のよくある質問をご覧ください。
報告された問題とトラブルシューティングの最新リストについては、Firebase Apple プラットフォーム SDK GitHub リポジトリをご確認ください。Firebase Apple プラットフォーム SDK 関連の問題が見つかった場合は、このリポジトリにご報告ください。
Firebase はどのバージョンの Xcode をサポートしますか?
Firebase は、最大 2 つのメジャー バージョンの Xcode をサポートしますが、Apple がサポートしなくなったバージョンは含みません。Apple は 2019 年 3 月からすべての iOS アプリで iOS 12 以降を必要とするようになったため、Xcode 9 のサポートは終了し、Xcode 10 のみがサポートされるようになりました。
Xcode の特定のマイナー バージョンまたはパッチ バージョン(9.2.0 から 9.4.1 など)のサポートに対する変更は、Firebase Apple プラットフォーム SDK のニーズとデベロッパーの使用状況の調査に基づいて決定されます。こうした変更は、Firebase Apple プラットフォーム SDK のリリースノートと Firebase Apple プラットフォーム SDK の設定ページに反映されています。
SDK でサポートされている Xcode の最小バージョンを確認するには、Firebase を Apple プロジェクトに追加するに記載されている要件を確認してください。
Xcode のベータ版に対する Firebase のサポートは、「ベスト エフォート」ベースで利用できます。デベロッパーは GitHub の Firebase Apple プラットフォーム SDK リポジトリで問題の追跡や報告を行うことができます。
macOS のキーチェーン アイテムにアクセスするために、ユーザーにパスワードの入力を求めるメッセージがアプリに表示されます。どうすればよいですか?
Firebase の依存関係をバージョン 9.6.0 以降にアップグレードし、[キーチェーン共有機能](/docs/iOS/troubleshooting-faq#macos-keychain-sharing)をターゲットに追加します。
macOS で Firebase にキーチェーン共有機能が必要なのはなぜですか?
Firebase SDK はキーチェーンを使用して、FCM に使用される Firebase インストール ID などの情報を保存します。キーチェーン アクセス権がないと、Firebase SDK が正しく機能しない可能性があります。macOS のキーチェーンの動作は、他のプラットフォーム(iOS、tvOS、macCatalyst、watchOS)で使用されている iOS スタイルのキーチェーンとは異なります。
macOS では、アプリは共有キーチェーンを使用し、他のアプリやプロセスによって変更される可能性があります。iOS とは異なり、アプリが暗黙的にアクセスするサンドボックス化されたキーチェーンはありません。つまり、Mac アプリがキーチェーンとやり取りすると、作成されていないキーチェーン アイテムが Mac アプリによって変更される可能性があるため、ユーザーにアクセス権を求めるメッセージが表示されます。この不一致に対処するため、Firebase は kSecUseDataProtectionKeychain
キーを使用してキーチェーンにクエリを実行します。これにより、アプリはキーチェーン アクセス グループの一部であるキーチェーン アイテムをクエリします(これは他のポリシーでのデフォルトの動作です)。キーチェーン共有機能は、ターゲット間で共有可能なアクセス グループを合成して、アプリがアクセス グループ内のキーチェーン アイテムに自由にアクセスできる権限を与えるために必要となります。
詳細については、Apple の Keychain ドキュメントをご覧ください。
Xcode バージョン 13 以降で、Info.plist に登録した一部の URL を UIKit アプリで開けないのはなぜですか?
Apple では Info.plist
ファイルで LSApplicationQueriesSchemes
エントリを 50 個に制限しています。Apple は 2015 年に、各アプリで実行できる URL クエリの数を制限する LSApplicationQueriesSchemes
を導入しました。Xcode 13 のリリースで、これらの上限が適用されましたが、Xcode 12 以前では、スキームの数に有効な制限はありませんでした。
Firebase Authentication や Firebase Dynamic Links など、一部の Firebase プロダクトでは、カスタム URL スキームを使用してアプリケーションにリダイレクトする必要があります。これらの URL は簡潔で一貫した URL スキームに準拠しており、リンクスキームの数の上限である 50 にはカウントされません。
引き続き 50 を超える LSApplicationQueriesSchemes
を登録するアプリの場合、一部のスキームは通知なく無視されます。追加される順序によっては、アプリが特定のディープリンクを実行できない場合があります。