2015-04-03 75 views
10

我创建了一个使用离子的工作应用程序。从我的网站获取数据没有问题,一切都很好。白名单不工作离子与人行横道

我后来去人行横道添加到它,现在我得到的错误,当我在我的Android手机上运行:

W/XWalkCordovaResourceClient():URL blocked by whitelist: http://example.com/api/ 

在顶层config.xml中我曾尝试每个以下的(不所有3一次),并重新它(离子运行机器人)具有相同的结果:

<access origin="*"/> 
    <access origin="http://www.example.com/*"/> 
    <access origin="http://www.example.com"/> 

我做错了什么?

运行“离子信息”我得到:

OS: Max OS Yosemite 
Nodoe Version: v0.10.36 
Cordova CLI: 4.3.0 
Ionic CLI Version: 1.3.19 
Xcode version: Xcode 6.2 Build Version 6C121e 
ios-sim version: 3.1.1. 

作为一个独立的,但可能相关的问题,安装人行横道在Android模拟器中运行的应用程序停止后也在努力 - 成功地建成后它只是说“的应用程序已停止'

回答

27

我想通了!问题在于,在最新的科尔多瓦,他们已经将白名单功能分成了自己的插件。

只需运行ionic plugin add https://github.com/apache/cordova-plugin-whitelist.git ,你很好!

+0

谢谢。我补充说,但无法弄清楚CSP应该如何运作。现在我有:'script-src'self'unsafe-eval''unsafe-inline'; object-src'self'http:// www.example.com',我仍然会让这些URL被白名单邮件阻止 – user1139675 2015-04-09 19:55:48

+1

您不必拥有CSP就可以工作。只要删除线,它会在日志中抱怨,但一切都应该工作。 – TheBosZ 2015-04-11 00:58:21

+0

谢谢!最后我不得不从cordova-android 3.7升级到4.0,然后安装插件并忽略警告。 – user1139675 2015-04-13 18:18:19

0

我有问题从openstreetmaps和谷歌地图api得到瓷砖,我解决了这个问题,遵循这个线程的答案http://forum.ionicframework.com/t/crosswalk-whitelist/20329

基本上解决办法是去 “” \平台\机器人的\ src \组织\人行横道\发动机\ XWalkCordovaResourceClient.java” 线204,注释返回并重建应用程序。

它不一个平滑的解决方案,但它现在解决我的问题。

关于你的其他问题我建议的第一步是:使用Genymotion仿真。如果这不起作用,我会尝试删除并重新添加Android。

希望它有帮助。