在iOS应用中将Firebase与多个用户一起使用

时间:2016-06-17 16:19:40

标签: ios firebase firebase-realtime-database

我开发的许多iOS应用程序用于组织中有许多驱动程序并且iPhone之间共享的情况。每个驱动程序都有自己的应用程序凭据,登录到应用程序,并显示自己的一组数据。 Firebase数据在当天大部分时间都处于离线状态时会保留,我会使用keepSynced(true)来确保数据是最新的。

我遇到的问题是,一旦用户使用Firebase方法FIRAuth.auth()!.signOut()注销,则当其他用户登录时,他会看到之前用户的数据。我猜测因为数据是持久的,所以不会从缓存中清除。但是,我正在通过用户ID检索数据,因此这并不能解释它。

允许多个用户使用与Firebase相同的iOS应用的最佳模式是什么?

1 个答案:

答案 0 :(得分:0)

尝试使用+configureWithName:options:方法创建__FIRAPP_DEFAULT的多个实例,每个实例具有不同的名称。然后根据需要在FIRAuth +authWithApp和其他地方使用不同的应用。

我实际上并没有这样做,而且对Firebase来说太新了,说它是最好的模式,但似乎它应该工作。

the docs需要注意的一点是,"在Android和iOS上,只会针对默认应用记录Google Analytics。"一种解决方案可能是保留def count_wins(dice1, dice2): assert len(dice1) == 6 and len(dice2) == 6 dice1_wins, dice2_wins = 0, 0 # write your code here dice1 = input('1, 2, 3, 4, 5, 6') dice2 = input('1, 2, 3, 4, 5, 6') def roll_dice(): return(random.randint(1, 2, 3, 4, 5, 6),random.randint(1, 2, 3, 4, 5, 6)) for i in range(36): dice1, dice2 = roll_dice() if dice1 > dice2: dice1_wins+=1 if dice2 > dice1: dice2_wins+=1 if dice2 == dice1: pass return (dice1_wins, dice2_wins) 应用,然后为每种用户类型创建一个命名应用。