【问题标题】:Firebase not worked on real devices (iOS)Firebase 不适用于真实设备(iOS)
【发布时间】:2016-10-16 02:53:27
【问题描述】:

我在我的 iOS 应用中安装 Firebase。 在模拟器上一切正常,但在真实设备上它不会执行/返回查询到我的数据库。

我尝试清理项目,但它并没有改变任何东西。

你有解决办法吗?

编辑:使用代码更新

override func viewDidLoad() {
    super.viewDidLoad()

    // Setup Firebase
    self.ref = FIRDatabase.database().reference()



    self.ref.child("Database").observeEventType(.Value, withBlock: { (snapshot) in


        if snapshot.exists() {
            for rest in snapshot.children.allObjects as! [FIRDataSnapshot] {
                print(rest.value)


            }
        } else {


        }

    }) { (error) in
        print(error.localizedDescription)
    }
}

【问题讨论】:

  • 您需要先发布您的代码,然后我们才能推测出问题所在
  • 我编辑了我的帖子。它在模拟器上工作,但不在我的 iPhone 上

标签: ios iphone xcode swift firebase


【解决方案1】:

我发现如果您登录并删除应用程序,那么在您再次安装应用程序后,您仍然会登录。我不知道具体,但我认为 Firebase 以某种方式将帐户缓存绑定到 Bundle标识符,不在本地存储中。

所以解决方案很简单,对我有用:

  1. 从真机上移除你的APP。
  2. 在导航面板中转到您的项目。
  3. 在“常规”选项卡中更改您的 Bundle 标识符,例如:“myApp.com”到“myApplication.com”或任何您想要的。
  4. 构建并运行
  5. 宾果游戏!现在,您的应用应该可以再次与 Firebase 进行良好的交互了。

更新: Firebase 会记住您在钥匙串中的登录信息

更新: Firebase 使用您的 Bundle 标识符作为密钥在钥匙串中记住您的数据

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,这是由于身份验证AuthenticationFirebase启用,但我没有Authenticate User。所以我无法从 Firebase 数据库中读取节点。

    【讨论】:

      【解决方案3】:

      您的代码没有错误,我也遇到了同样的问题。这是我所做的:

      1. 只需在左侧导航窗格中转到您的项目。

      2. 转到构建设置并向下滚动到构建选项

      3. 启用位码的值更改为

      希望它也适合你!

      【讨论】:

      • @user1585646 这些答案都没有帮助我。但是我已从真实设备中明确注销,然后再次登录,DB 立即开始响应。我认为 Firebase 缓存了密钥并且没有正确更新它。
      猜你喜欢
      • 2021-06-24
      • 2021-03-05
      • 1970-01-01
      • 2017-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多