更改Firebase的包ID
在这个项目的早期,我做了在bundle标识符中没有前缀com
的错误。 现在我准备好testing航class了,我有一个无效的包标识符。
目前,我的包标识符是mycompany.myProject
但我希望它是com.mycompany.myproject
。 我没有任何问题切换到所需的捆绑ID的归档应用程序,并上传到应用程序商店。
我将应用程序切换到相应的包标识符的步骤:
- 使用正确的套件ID在Firebase控制台中创build新的应用程序。
- 下载这个新的应用程序的Google-Info.plist并放置在项目的根目录下,拖入Xcode项目。
- 更改Facebook上的包标识符
- 在项目设置中更改包标识符
但是,该应用程序崩溃致命的这个错误。
*** 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; }
此方法返回nil
,提供从Firebase检索数据的方法。 此方法的nil
返回导致InvalidPathValidation
错误。
我正在与Facebook进行身份validation。 我想也许这是返回nil
的原因是,该应用程序不知道谁login,因为我从来没有提示login(我的应用程序检查,如果你通过Facebook viewWillAppear
在开放的ViewControllerlogin)。 然而,这是没有道理的,因为我所做的唯一更改就是更改包ID。 我一直被困在这个问题上差不多一个星期。
我特别想知道我需要更改哪些Firebase才能接受捆绑标识符更改。
解决scheme是在同一个Firebase项目中创build一个新的应用程序