Firebase iOS 10网络活动指示器不断旋转

时间:2016-09-17 14:14:36

标签: firebase websocket mobile-safari ios10

在iOS 10中的Safari(有时)或全屏网页应用程序(当您向主屏幕添加网页时),当存在firebase后台连接时,状态栏网络活动指示器将永远保持旋转...在iOS中8和iOS 9连接Firebase时此指示符消失,因此用户不会对这个小网络消息(websockets)发出警告,如Apple的UI指南中所述: https://developer.apple.com/ios/human-interface-guidelines/ui-controls/progress-indicators/

  

仅针对持续时间超过1的网络操作显示此指标   几秒钟。不显示快速网络操作的指示灯   因为它可能会在任何人注意到它的存在之前消失   意识到沟通的意义。

Firebase for iOS 10中是否有任何配置可以避免此指标?或者它是新苹果iOS系统中的一个错误?

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

IOS 10更改了与websockets相关的CSP策略的行为。我将firebase域添加到connect-src CSP并且它工作正常。将*放在default-src中是不够的,我说它没有成功。 这是对我的index.html的更改,添加了connect-src CSP策略

<meta http-equiv="Content-Security-Policy" content="img-src *
'unsafe-eval' 'unsafe-inline' data:; default-src *  'unsafe-eval'
'unsafe-inline'; connect-src * wss://*.firebaseio.com 'unsafe-eval'
'unsafe-inline' 'self' ">

您也可以只更改default-src以连接到任何域:

default-src * wss://*;

在previos iOS(8&amp; 9)中,如果使用default-src *,则不需要connect-src。 感谢Michael Lehenbauer的“光明”