物理IOS/Android设备上的Firebase Firestore模拟器
好了,我已经做完所有的研究了 在我开发时,我正试图通过Expo应用程序让Firebase-Firestore数据库模拟器在我的物理IOS设备上工作 我可以让Localhost在浏览器中工作,让10.0.2.2:(8080)通过Android emulator工作。但是,我无法让我的物理IOS设备正常工作。我发现firebase无法在10秒内连接错误 尝试了本地主机,尝试了expo应用程序192.168中提供的ip。x.x尝试了我当前wifi位置中提供的ip地址,什么都没有 我已经对不同的配置做了广泛的研究。我要找的人谁已经设法让它的工作,并知道他们的步骤。我是否缺少配置设置等 由于它在网络上工作,我不相信我有 我正在使用这段代码连接Android Emulator/Web浏览器 firebase.firestore()设置({ 实验或长期投票:是的, 主持人:“10.0.2.2:8084”物理IOS/Android设备上的Firebase Firestore模拟器,ios,firebase,google-cloud-firestore,expo,emulation,Ios,Firebase,Google Cloud Firestore,Expo,Emulation,好了,我已经做完所有的研究了 在我开发时,我正试图通过Expo应用程序让Firebase-Firestore数据库模拟器在我的物理IOS设备上工作 我可以让Localhost在浏览器中工作,让10.0.2.2:(8080)通过Android emulator工作。但是,我无法让我的物理IOS设备正常工作。我发现firebase无法在10秒内连接错误 尝试了本地主机,尝试了expo应用程序192.168中提供的ip。x.x尝试了我当前wifi位置中提供的ip地址,什么都没有 我已经对不同的配置做了
,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')
最后的答案。更新你的软件包。(我对自己很生气) 我花了无数个小时试图找出一个还没有解决方案的问题,因为它在未来的版本中出现了 因此,在升级到sdk 8.29之后,我有了Firebase javascript sdk 7.9,它在物理IOS设备上运行得非常好。我没有使用useEmulator,我使用的是这段代码
if(firebase.apps.length === 0){
firebase.initializeApp(config)
firebase.firestore().settings({
experimentalForceLongPolling: true,
host:'192.168.X.XX:8089'
,ssl:false
})
} else {
firebase.app()
}
导出默认firebase
设置方法对我来说非常有效,我不确定是否会发现不使用useEmulator的其他问题,或者这是否适用于不同类型的平台。我正在使用expo/React Native
感谢您的回复。我没有useEmulator方法作为选项。我可能需要更新我的Firebase,目前我使用设置方法让它在Android仿真器中工作。你知道有没有一种方法可以通过设置方法来完成吗?我相信你的答案是正确的,但是对于那些已经拥有包含UseMulator的Firebase正确版本的人来说。谢谢。仅供参考Firebase 9.1.0版