在Swift项目中切换Firebase

时间:2016-05-24 15:54:53

标签: ios swift firebase firebase-storage

我不小心将错误的Firebase(让我们称之为OLD)添加到我的Swift项目中,所以今天我通过添加正确的(新)来the process。我删除了旧的plist配置文件并添加了新文件,但是当我运行应用程序时,出现错误:

  

由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'提供的存储桶:OLD.appspot.com与FIRApp配置中指定的存储桶不匹配:NEW.appspot.com'

在GoogleService-Info.plist文件中,STORAGE_BUCKET字段正确为NEW.appspot.com,而OLD.appspot.com未显示在任何位置。那我怎么解决这个问题呢?

2 个答案:

答案 0 :(得分:0)

我在处理两个iOS帐户时遇到了这个问题,所以我希望答案是相似的。

主要原因是旧用户已缓存到您的设备。这意味着每次使用较新的用户登录时都会出现错误,因为期望在之前的URL上设置旧用户。令人沮丧地删除应用程序,清理应用程序,调用pod更新,登录新版本和呼叫注销等似乎不会对问题产生任何影响。

这似乎发生在用户登录后,然后在顶部加载了具有不同网址的新版本。

我设法修复此问题的唯一方法是将应用重置为之前的设置(放回OLD firebase网址以及OLD.plist google服务文件)。加载应用程序然后注销应用程序,这应该删除缓存的用户设置。现在,当您加载新设置时,它不应该登录到以前的用户(取决于您的自动登录应用程序设置),并且应该允许您成功登录到新帐户。

执行此操作时,请记住下载新的.plist文件,并确保输入正确的bundleID和firebase网址。

注意:如果您在模拟器上遇到此问题,我认为您可以重置内容和设置。这可以在

中找到

模拟器 - >重置内容和设置...

希望这会有所帮助

答案 1 :(得分:0)

我可以通过检查我的GoogleService-Info.plist来解决这个问题。 如果您多次使用.plist文件,请确保已将正确的文件添加到项目中。 您始终可以返回Firebase控制台。 单击Overview旁边的设置图标。 单击“项目设置”,选择您要下载.plist文件的应用程序。 这样做可以解决任何问题......