2

誤って間違った Firebase (OLD と呼びましょう) を Swift プロジェクトに追加したので、今日は代わりに正しい Firebase (NEW) を追加するプロセスを実行しました。古い plist 構成ファイルを削除して新しい構成ファイルを追加しましたが、アプリを実行するとエラーが発生します。

キャッチされていない例外 'NSInvalidArgumentException' が原因でアプリを終了しています。

GoogleService-Info.plist ファイルでは、STORAGE_BUCKET フィールドは正しく NEW.appspot.com であり、OLD.appspot.com はどこにも表示されません。では、どうすればこれを解決できますか?

4

2 に答える 2

0

2 つの iOS アカウントを扱っているときにこの問題が発生したので、答えは似ていると思います。

主な理由は、古いユーザーがデバイスにキャッシュされていることです。これは、以前の URL で設定された古いユーザーを想定しているため、新しいユーザーでログインするたびにエラーになることを意味します。イライラしてアプリを削除したり、アプリをクリーニングしたり、ポッドの更新を呼び出したり、新しいバージョンにログインしたり、ログアウトを呼び出したりしても、問題には影響がないようです。

これは、ユーザーがログインした後、別の URL を持つ新しいバージョンが上から読み込まれたときに発生するようです。

これを修正する唯一の方法は、アプリを以前の設定にリセットすることでした(古いfirebase URLとOLD.plist Googleサービスファイルを元に戻します)。アプリをロードしてからログアウトすると、キャッシュされたユーザー設定が削除されます。新しい設定をロードすると、以前のユーザーにはログインせず (自動ログイン アプリの設定によって異なります)、新しいアカウントに正常にログインできるようになります。

これを行っている間、新しい .plist ファイルをダウンロードし、正しい bundleID と firebase url が入力されていることを確認してください。

注: シミュレーターでこの問題が発生している場合は、コンテンツと設定をリセットできると思います。これは

シミュレータ -> 内容と設定をリセット...

うまくいけば、これが役に立ちます

于 2016-08-05T05:30:27.527 に答える