更改Firebase的软件包ID

问题描述:

在此项目的早期阶段,我在软件包标识符中设置了没有前缀com的错误。现在我准备好测试航班了,并且我有一个无效的包标识符。更改Firebase的软件包ID

目前,我的包标识符是mycompany.myProject,但我希望它是com.mycompany.myproject。我没有问题切换到所需的捆绑ID,用于归档应用程序并上传到应用程序商店。

步骤我把切换应用到相应的包标识符:

  1. 创建与正确包ID火力控制台新的应用程序。
  2. 下载这个新应用程序的Google-Info.plist并将其放入项目的根目录并拖入Xcode项目中。在项目设置

在Facebook上

  • 更改捆绑标识符
  • 更改绑定标识符然而,应用程序与此错误致命崩溃。

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

    在该错误发生是当火力地堡方法被称为

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

    此方法返回nil其馈送用于从火力地堡检索数据的方法,该点。此方法的nil返回会导致InvalidPathValidation错误。

    我使用Facebook进行身份验证。我想也许这是返回nil的原因是,该应用程序不知道谁登录,因为我从来没有提示登录(我的应用程序检查,如果您通过Facebook登录在viewWillAppear在开放ViewController)。但是这没有意义,因为我做的唯一更改是更改包ID。我一直在这个问题上停留了近一个星期。

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

  • +0

    您是否删除旧的GoogleService-Info.plist?只是想确保那里没有两个,而且它弄错了。 –

    +0

    我用更新的一个替换了旧的GoogleService-Info.plist。我的根目录中只有一个文件。 –

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

    +1

    哇,真的没有办法改变Firebase中的包ID吗? –

    +1

    真的没有菲尔。您可以将不同的项目添加到同一个项目中,由于某些原因,该项目不适用于此项目。但是,稍后再做一个项目,我可以将多个应用程序添加到同一个项目中,没有问题 –

    +1

    像@KyleGriffith在他的评论中所说的,我能够通过在同一个项目中创建一个新应用程序来解决这个问题。我必须替换GoogleService文件并更新崩溃报告的信息(创建并下载新的崩溃报告JSON文件并更新构建阶段以引用新文件和新的GoogleService Id)。 – Ryan