ios - 物理 IOS/Android 设备上的 Firebase Firestore 模拟器

标签 ios firebase google-cloud-firestore expo emulation

好的,我已经完成了所有这些研究。
我正在尝试让 Firebase - Firestore 数据库模拟器在我开发时通过 Expo 应用程序在我的物理 IOS 设备上工作。
我可以让 Localhost 在浏览器中工作,让 10.0.2.2:(8080) 通过 Android 模拟器工作。但是,我无法让我的 PHYSICAL IOS 设备工作。我得到 firebase 无法在 10 秒内连接错误。
尝试了 localhost,尝试了 expo 应用程序中提供的 ip 192.168.x.x 尝试了我当前 wifi 位置中给出的 ip 地址,什么都没有。
我已经对不同的配置进行了广泛的研究。我正在寻找能够让它发挥作用并了解他们的步骤的人。我是否缺少配置设置等。
由于它适用于网络,模拟器我不相信我有。
我正在使用这段代码连接 Android Emulator/Web browswer
firebase.firestore().settings({
ExperimentForceLongPolling: 真,
主机:'10.0.2.2:8084'
,ssl:false})
请不要在回复中猜测,只寻找那些已经复制了手头确切问题的解决方案的人。
谢谢

最佳答案

在您的 firebase.json 中,为您使用的每个模拟器设置一个主机参数“0.0.0.0”。
下面是我用来连接到带有真实 iOS 设备的模拟器的代码
firebase.json

{
  "emulators": {
    "auth": {
      "port": 9099,
      "host": "0.0.0.0"
    },
    "functions": {
      "port": 5001,
      "host": "0.0.0.0"
    },
    "firestore": {
      "port": 8080,
      "host": "0.0.0.0"
    },
    "database": {
      "port": 9000,
      "host": "0.0.0.0"
    },
    "ui": {
      "enabled": true
    }
  },
  "firestore": {
    "rules": "firestore.rules",
    "indexes": "firestore.indexes.json"
  },
  "database": {
    "rules": "database.rules.json"
  }
}
然后在客户端添加
realtimeDatabase.useEmulator(yourLocalIp, 9000);
firestore.useEmulator(yourLocalIp, 8080);
firebase.functions().useEmulator(yourLocalIp, 5001);     
auth.useEmulator('http://yourLocalIp:9099')

关于ios - 物理 IOS/Android 设备上的 Firebase Firestore 模拟器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66161387/

相关文章:

IOS Sinch Calling when Application is offline using APN(Get previously initiated Client)

ios - 应用程序将进入后台并进入前台,出现黑屏

firebase - Firestore交易致命异常

javascript - 带角色的Firestore查询?

iPhone 开发 - 在设备上运行应用程序

ios - 当应用程序处于后台但未挂起时如何处理推送通知

firebase - 如何让 Firestore 索引合并工作?

javascript - .get() 函数获取 firebase 文档 "is not a function"

ios - 如何处理多次写入,以便在一次写入失败时不提交数据?

java - 将 Firebase 字段数组转换为列表