我正在开发一个 swiftui 应用程序,并且刚刚开始使用 firebase 的模拟器套件。 当我预览应用程序并写入 Firestore 集合或对用户进行身份验证时,一切都很好。问题是,每当我想在模拟器或实际物理设备上测试它时,它什么都不做。而且我在网上找不到任何关于在本地局域网中使用带有物理设备的模拟器的信息。
什么会阻止我的物理设备与运行模拟器的 Macbook 建立连接?
在下面查看我的 firebase.json 配置:
注意:我尝试输入“host”:“192.168.x.x”或“0.0.0.0”<-我的 macbook ip 地址 但没有结果。
{
"firestore": {
"rules": "firestore.rules",
"indexes": "firestore.indexes.json"
},
"functions": {
"predeploy": [
"npm --prefix \"$RESOURCE_DIR\" run lint"
]
},
"storage": {
"rules": "storage.rules"
},
"emulators": {
"auth": {
"port": 9099
},
"functions": {
"port": 5001
},
"firestore": {
"port": 8080
},
"storage": {
"port": 9199
},
"ui": {
"enabled": true
}
}
}
FirebaseApp.configure() 下面的代码 本地主机是“192.168.x.x”我的macbook IP
let settings = Firestore.firestore().settings
settings.host = "localhost:8080"
settings.isPersistenceEnabled = false
settings.isSSLEnabled = false
Firestore.firestore().settings = settings
在 info.plist 中,我添加了应用传输安全设置: 允许本地网络 = YES
我在 debug.log 中看到的(这可能无关) 2021 年 7 月 4 日上午 10:20:53 io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead 信息:检测到非 HTTP/2 连接。
阻止我的手机连接到我的 macbook 上托管的 Firebase 模拟器可能会出现什么问题,我的 macbook 与我的手机在同一个本地网络中。 当我使用 firebase 云版本时,一切正常。 它可能是我的防火墙或 macbook 本身的东西吗? 这可以解释物理和模拟器都无法向 Firestore 写入/读取。
希望有人能帮助我! 很想先在本地测试功能和其他所有内容。
您好,
迪伦