![](/img/trans.png)
[英]Not able to download and play video files that are uploaded by an Android Emulator on an iOS physical device using VideoController in Flutter
[英]Firebase Firestore emulator on physical IOS / Android device
好的,我完成了所有這些研究。
我正在嘗試讓 Firebase - Firestore 數據庫模擬器在我開發時通過 Expo 應用程序在我的物理 IOS 設備上工作。
我可以讓 Localhost 在瀏覽器中工作,並讓 10.0.2.2:(8080) 通過 Android 模擬器工作。 但是,我無法讓我的 PHYSICAL IOS 設備工作。 我收到 firebase 無法在 10 秒內連接錯誤。
嘗試了本地主機,嘗試了 expo 應用程序 192.168.xx 中提供的 ip 嘗試了在我當前的 wifi 位置中給出的 ip 地址,沒有。
我已經對不同的配置進行了廣泛的研究。 我正在尋找能夠讓它工作並知道他們的步驟的人。 我是否缺少配置設置等?
因為它適用於 web,模擬器我不相信我有。
我正在使用這段代碼連接 Android Emulator / Web 瀏覽器
firebase.firestore().settings({experimentalForceLongPolling: true, host:'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')
最終答案。 更新你的包。 (我對自己很生氣)
我花了無數個小時試圖找出一個沒有解決方案但導致它在未來版本中出現的問題。
So I had Firebase javascript sdk 7.9 after updating to sdk 8.29 it worked perfect on a physical IOS device. 我沒有使用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 的其他問題,或者是否適用於不同類型的平台。 我正在使用博覽會/React Native。
感謝您的回復。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.