更改Firebase

时间:2016-10-03 22:31:01

标签: ios objective-c firebase firebase-authentication bundle-identifier

在这个项目的早期,我犯了错误,即包标识符中没有前缀com。现在我准备测试航班了,我的捆绑标识符无效。

目前,我的包标识符为mycompany.myProject,但我希望它为com.mycompany.myproject。我没有问题切换到所需的软件包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;
    }
    

    此方法返回nil,该方法提供从Firebase检索数据的方法。此方法的nil返回会导致InvalidPathValidation错误。

    我正在通过Facebook进行身份验证。我想也许回归nil的原因是该应用程序不知道谁登录,因为我从未被提示登录(我的应用程序检查您是否通过Facebook登录{{1}在打开ViewController上)。然而,这没有任何意义,因为我所做的唯一改变就是更改捆绑ID。我已经坚持这个问题差不多一个星期了。

    我特别想知道如何更改Firebase以接受捆绑标识符更改。

2 个答案:

答案 0 :(得分:10)

解决方案是在同一个firebase项目中创建一个新的应用程序

答案 1 :(得分:3)

以上答案在发布时可能是正确的,但对我有所帮助的是在Target的Signing and Capabilities设置中更改了捆绑包标识符。然后,我转到GoogleService-Info.plist文件,并更改了BUNDLE_ID的值。然后,我按Command +B来构建应用程序,然后运行了该应用程序。对我来说一切正常,我没有任何错误。