【发布时间】:2015-10-14 16:17:53
【问题描述】:
我正在开发一个用 Cordova 封装并使用 Phonegap Build 构建的 JavaScript 应用程序。我们在构建中包含来自 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 出现问题,但根本无法使其正常工作。过去我在使用其他 Phonegap/Cordova 应用程序时遇到过类似问题,但能够通过白名单插件/CSP/访问规则解决。
这个问题也很难调试,因为 Safari 开发者工具无法连接到 iOS 设备,我不得不提醒我看到的响应。看起来返回的响应有一个状态码 0 和一个空正文,我假设这只是意味着无法访问。
【问题讨论】:
标签: android ios cordova phonegap-build cordova-plugins