5

このプロジェクトの初期段階で、バンドルIDに接頭辞comがないというエラーが発生しました。今、私は飛行をテストする準備ができていて、無効なバンドル識別子があります。FirebaseのバンドルIDの変更

現在、私のバンドルIDはmycompany.myProjectですが、それはcom.mycompany.myprojectになります。私は、アプリケーションをアーカイブしてApp Storeにアップロードするために、希望するバンドルIDに切り替えるのに問題はありません。私は適切なバンドル識別子にアプリを切り替えるために取った

手順:

  1. 正しいバンドルIDとfirebaseコンソールで新しいアプリを作成します。
  2. この新しいアプリのGoogle-Info.plistをダウンロードし、プロジェクトのルートに配置してXcodeプロジェクトにドラッグします。
  3. Facebookの
  4. に変更するバンドル識別子
  5. プロジェクト設定

の変更バンドル識別子はしかし、アプリはこのエラーを致命的にクラッシュします。このエラーが発生した時

*** Terminating app due to uncaught exception 'InvalidPathValidation', reason: '(child:) Must be a non-empty string and not contain '.' '#' '$' '[' or ']'' 

点Firebase方法は

- (NSString *) getUid { 
return [FIRAuth auth].currentUser.uid; 
} 

呼ばれている場合、この方法はFirebaseからデータを取得するための方法を供給するnilを返します。このメソッドのnilが返されると、InvalidPathValidationエラーが発生します。

私はFacebookで認証しています。私はおそらく、これは、nilを返す理由は、私が決してログインするようにプロンプ​​トされていないため、アプリが誰にログインしているのか分からないということです(私のアプリはあなたのログインの場合はviewWillAppearオープニングViewController)。しかし、これは意味がありません。変更したのは、バンドルIDを変更するだけだったからです。私はこの問題に一週間近く固執しています。

私は、FirebaseがバンドルIDの変更を受け入れるために何を変更する必要があるのでしょうかと思っています。

+0

古いGoogleService-Info.plistを削除しましたか?ちょうどそこに2つがないことと、間違ったものがあることを確かめたい。 –

+0

私は古いGoogleService-Info.plistを更新したものに置き換えました。私のルートには1つのファイルしかありません。 –

答えて

3

解決方法は同じfirebaseプロジェクト内に新しいアプリを作成することでした

+1

うわー、FirebaseのバンドルIDを変更する方法は本当にありませんか? –

+1

本当にPhilはありません。同じプロジェクトに異なるプロジェクトを追加することができますが、何らかの理由でこのプロジェクトで作業していませんでした。しかし、別のプロジェクトを後で実行すると、同じプロジェクトに複数のアプリケーションを追加することができました。問題ありません。 –

+1

@KyleGriffithのコメントのように、私は同じプロジェクトで新しいアプリケーションを作成することで問題を解決できました。 GoogleServiceファイルを置き換えてクラッシュレポートの情報を更新する必要がありました(JSONファイルをレポートする新しいクラッシュを作成してダウンロードし、新しいファイルと新しいGoogleService IDを参照するようにビルドフェーズを更新する必要がありました)。 – Ryan

関連する問題