我们在iOS,WinPho,Android中使用ionic和pouchDB(Couch DB)。 除了在Apple App Store Test中我们看到api调用的服务器日志,但是没有沙发调用,所有工作都很好。 所以
https://api.example.com connects OK
https://couch.example.com doesn't connect
它始于iOS 10.我们调整了CSP,它运行良好。现在它又停止了工作。 这是CSP:
<meta http-equiv="Content-Security-Policy"
content="default-src 'self' * blob: gap://ready file://*;
style-src 'self' 'unsafe-inline';
script-src 'self' 'unsafe-inline' 'unsafe-eval' *;
media-src *"/>
除了在Apple的测试实验室(Cupertino)之外,我们真正不理解的是为什么它无处不在。 Apple Docs指向W3C上的CSP2.0(下面的链接),但不清楚这些是如何被遵循的,例如,有人说所有指令都没有遵循'*'政策。 https://developer.apple.com/library/content/releasenotes/General/WhatsNewInSafari/Articles/Safari_10_0.html
答案 0 :(得分:0)
因此,事实证明这是由两段代码之间的竞争条件引起的时间问题。 库比蒂诺的网络连接时间在一个窗口中,只能使用Apple Network Link Conditioner重现。
Javascript承诺中的一段代码试图在输入凭据之前启动会话,然后淘汰另一个对话框创建的会话。