在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系统中的一个错误?
任何帮助将不胜感激。
答案 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的“光明”