2016-04-06 114 views
6

我正在构建一个iOS应用程序,并最近将cordova-ios升级到了4.1.0并开始使用:cordova-plugin-wkwebview-engine。Cordova iOS只支持HTTP跨源请求

问题是,现在我在尝试加载依赖关系时收到错误消息Cross origin requests are only supported for HTTP,所以应用程序无法启动。

它试图加载systemjs依赖关系到file://,但我包含在我的config.js中。

我不知道如何解决这个问题。有没有人有这方面的经验?

科尔多瓦版本:6.1,0 科尔多瓦IOS版本:4.1.0

相关config.xml中位:

<access origin="*" /> 
<feature name="CDVWKWebViewEngine"> 
    <param name="ios-package" value="CDVWKWebViewEngine" /> 
</feature> 

<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" /> 
+2

这是一个已知的WKWebView的限制,你可以尝试安装'wkwebview-engine-localhost'plugin,添加一个web服务器并且应该修复你的问题https://github.com/apache/cordova-plugins/tree/master/wkwebview-engine-本地主机 – jcesarmobile

+0

你h大大成功吗? –

+0

这解决了我的问题。任何想法,如果苹果仍然会使用这种解决方案接受你的应用程序到商店? – Shoerob

回答

2

我有同样的问题,我的科尔多瓦项目(实际上离子V1)和我用下面的命令修复:

cordova plugin add https://github.com/apache/cordova-plugins.git#wkwebview-engine-localhost 

这将安装在本地运行和误差应后消失Web服务器。运行该命令后,只需要运行:

cordova prepare ios 

或删除所有的插件并重新安装:

rm -rf plugins/ 
cordova platform add ios 

确保你在config.xml中有这样的:

<access origin="*" /> 
<feature name="CDVWKWebViewEngine"> 
    <param name="ios-package" value="CDVWKWebViewEngine" /> 
</feature> 

<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" /> 
相关问题