簡體   English   中英

無法發送WebSocket Frame不會讓我的Ionic應用程序在iOS10上使用Firebase

[英]Failed to send WebSocket Frame doesn't let my Ionic app use Firebase on iOS10

我正在編寫一個帶有Ionic v1,AngularJS和Firebase的移動應用程序來管理數據庫中的用戶。 該應用程序允許用戶登錄,並在登錄后更改其信息(如姓名,生日等)。 在iOS 9和我的瀏覽器上,當我使用離子服務時,一切正常。

但是,在iOS 10上,用戶可以登錄(雖然明顯更慢)然后,一旦他們嘗試更改數據庫中的信息,就會發生某種問題並且沒有新信息寫入數據庫。

由於Firebase數據庫功能完備且新數據在瀏覽器和iOS 9中沒有任何錯誤,因此我認為這可能是我在iOS 10中需要的內容安全策略的一個問題。我嘗試了很多CSP組合; 一些導致“WARN:FIREBASE WARNING:用戶回調引發異常”,並且某些組合沒有錯誤但仍未將新信息寫入數據庫。

有沒有人有經驗在iOS 10上使用Ionic v1和AngularFire可以提供幫助?

當前CSP: <meta http-equiv="Content-Security-Policy" content="default-src * 'self' 'unsafe-eval' 'unsafe-inline'; img-src * 'self' 'unsafe-eval' 'unsafe-inline'; script-src * 'self' 'unsafe-eval' 'unsafe-inline'; connect-src * 'self' 'unsafe-eval' 'unsafe-inline'; font-src * 'self' 'unsafe-eval' 'unsafe-inline'; object-src * 'self' 'unsafe-eval' 'unsafe-inline'; frame-src * 'self' 'unsafe-eval' 'unsafe-inline'; child-src * 'self' 'unsafe-eval' 'unsafe-inline';">

編輯:在Safari開發人員控制台中發現錯誤。 它無法連接到websocket。 WebSocket連接到'wss://stuff.firebaseio.com/.ws?v = 5&ns = app'失敗:無法發送WebSocket幀。

我面臨着同樣的問題,當我向firebase發送太多數據(例如,同時超過50Kb,一個base64encoded圖像)時,websocket被殺死,僅來自IOS10。

您在CSP中可能缺少的內容如下:

connect-src * 'self' 'unsafe-inline' 'unsafe-eval' *.firebaseapp.com https://*.firebaseio.com wss://*.firebaseio.com blob: data:;

這將允許您向/從firebase發送和接收數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM