Android 爱奥尼亚的噩梦。。。已签名的APK仍需要“访问控制允许源站”才能运行

Android 爱奥尼亚的噩梦。。。已签名的APK仍需要“访问控制允许源站”才能运行,android,ionic-framework,cors,Android,Ionic Framework,Cors,我已经写了一个应用程序使用离子。调试时,我在服务器上使用了访问控制允许源代码。它的起源是:,而且运行良好 接下来,我构建了一个APK,签名并将其安装到设备上。结果表明它不起作用,因为设备来源是: 问题在于 在设备上运行运行运行ionic run时会发生什么 应用程序的文件将复制到设备或模拟器。这个 应用程序运行,从而启动手机/模拟器上的浏览器来运行应用程序 复制的文件,类似于: file://some/path/www/index.html. 你的起源将不存在,因为你 正在运行一个文件://UR

我已经写了一个应用程序使用离子。调试时,我在服务器上使用了访问控制允许源代码。它的起源是:,而且运行良好

接下来,我构建了一个APK,签名并将其安装到设备上。结果表明它不起作用,因为设备来源是:

问题在于

在设备上运行运行运行ionic run时会发生什么

应用程序的文件将复制到设备或模拟器。这个 应用程序运行,从而启动手机/模拟器上的浏览器来运行应用程序 复制的文件,类似于: file://some/path/www/index.html. 你的起源将不存在,因为你 正在运行一个文件://URI;因此,任何向外的请求都将 不需要CORS请求

所以,在实际设备上运行的发布版本中,访问控制允许源代码甚至不应该是一个问题,它仍在检查中

如果我从服务器上删除访问控制允许源站,我将永远无法连接到它

有人知道这里发生了什么吗?我该怎么办

非常感谢您的建议


你诚挚的

我从来不知道正确的解决方案,但就我而言,我设法找到了解决办法

我在服务器中实现了一个IHttpModule。它检查原点,并在运行时生成允许该原点的标头。现在,我可以直接使用webbrowser、emulator和mobile连接到站点,而无需更改服务器上的原点