我有一个带有ios和Android版本的react-native应用程序。两个版本都使用webview访问网站。 ios版本在指向生产网站或本地开发版本时有效。该网站使用ruby on rails
,开发服务器为pow
。
当我运行Android应用程序时,它会加载但是当它尝试访问该网站的本地版本时,它会返回以下错误:
console.error: "Encountered an error loading page", {"canGoForward":false,"code":-2,"canGoBack":false,"description":"net::ERR_ICANN_NAME_COLLISION","loading":false,"title":"","url":"http://my_app.dev/,"target":69}
如果我使用localhost而不是my_app.dev
,也会发生同样的情况。但是,当指向外部生产URL时,它确实有效,即my_app.com
。
我尝试使用其他Android设备,错误更改为ERR_CONNECTION_REFUSED。第一个设备使用Android浏览器,而第二个设备使用chrome。所以它似乎确实是一个特定于浏览器的问题。阅读此link,我使用nslookup my_app.dev
将IP地址计算为127.0.53.53
并输入
127.0.53.53 my_app.dev
进入/ private / etc / hosts文件。但是,这仍然会出现同样的错误我该如何解决这个问题?
答案 0 :(得分:0)
解决此问题的方法是找出开发计算机的IP地址,例如192.168.0.33
,将服务器配置为允许my_app.192.168.0.33.xip.io
的外部访问,然后在react应用程序中配置主机网址为http://my_app.192.168.0.33.xip.io
。但是,这意味着以特殊模式运行服务器,因此最好找到这个问题的直接答案。