在这个项目早期,我犯了一个错误,没有在捆绑标识符中添加前缀com
。 现在我准备测试飞行,但是发现我的捆绑标识符无效。
目前,我的捆绑标识符是mycompany.myProject
,但我想要它是com.mycompany.myproject
。 我切换到所需的捆绑标识符进行应用程序归档和上传到应用商店没有问题。
我采取的步骤将应用程序切换到相应的捆绑标识符:
- 在Firebase控制台中创建具有正确捆绑标识符的新应用程序。
- 下载此新应用程序的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进行身份验证。我认为返回nil
的原因可能是应用程序不知道谁已登录,因为我从未提示过要登录(在打开的ViewController上,我的应用程序通过Facebook检查您是否已登录viewWillAppear
)。但是这并没有意义,因为我所做的唯一更改是更改包标识符。我已经被困在这个问题上将近一周了。
我特别想知道我需要更改什么以使Firebase接受包标识符的更改。