我正在使用Cordova封装的JavaScript应用程序,并使用Phonegap Build构建。我们在我们的版本中包含了来自npm的cordova-plugin-whitelist
,并且在我们的config.xml中添加了<access origin="*" />
,并在我们的index.html中添加了一个开放的CSP(<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
)。该应用在Android上运行良好,并且与我们的服务器交谈时没有问题,但在iOS上,所有请求都会立即失败,就好像白名单插件不会让流量通过一样。cordova-plugin-whitelist在Android上工作但不支持iOS(Phonegap Build)
我已经尝试了一些不同的构建配置,以防万一某种特定版本的科尔多瓦爆发,但一直没有能够得到这个工作。过去我曾遇到与其他Phonegap/Cordova应用类似的问题,但能够使用白名单插件/ CSP /访问规则解决此问题。
由于Safari开发人员工具无法连接到iOS设备,因此此问题也很难调试,因此我不得不提醒我看到的响应。它看起来像返回的响应有一个状态码0和一个空的身体,我假设只是意味着无法访问。
另外,它看起来像[此代码(https://github.com/apache/cordova-plugin-whitelist/blob/r1.1.0/src/ios/CDVNavigationWhitelistPlugin.m#L85-L88)(具有标记版本1.1.0)最近在9天前在[提交](https://github.com/apache/cordova-plugin-whitelist/commit/9c2693b4ff6d98f859cbadddc9df683c508ae4a2#diff-58fc34aceb04ed0fc9c1c444fb50033fR102)中重命名/更改。也许试试'1.1.0-dev'版本? – broinjc
https://www.npmjs.com/package/cordova-plugin-whitelist最新版本是6个月大(v1.0.0) – broinjc
哈哈 - https://www.npmjs.com/package/cordova-plugin-whitelist-开发 – broinjc