我有一个本地web服务器,我在运行Windows8.1的笔记本电脑上通过Maven使用startServer.bat命令运行它。我使用TestFlight安装的iPad上也有一个需要与此服务器通信的应用程序。我使用安卓平板电脑作为上网的移动热点。本地服务器使用的端口为8080。
自从我尝试登录该应用程序后,它就给出了一个错误:“我们无法与服务器通信,请检查您的连接,然后重试。”
我已经为防火墙添加了规则,禁用了防火墙,还禁用了笔记本上的所有安全设置。当我尝试登录时,cmd中记录了一些项目,我可以在这些项目中看到从应用程序中检索到的信息,即用户名和密码。但是,看起来似乎信息没有被发送回应用程序,即登录成功,您现在可以继续。我也读到过Windows8.1屏蔽Metro应用程序的报道,这里会发生类似的事情吗?
我已经确保笔记本上的IP是静态的,设备使用相同的网络,甚至已经考虑过使用代理-我尝试过使用Charles Proxy和CCProxy,但它们使用了太多的内存,然后由于超时构建失败,所以我无法测试任何东西。当我转到Safari中服务器的IP (即xxx.xxx.xx.xx:8080)时,它确实连接了(尽管我不能确认它是否100%地工作),但iPad应用程序从未成功登录过。一旦记录了此行,该错误总是会显示:

有没有人可以帮助我解决这个问题,或者至少告诉我如何正确设置(这样我就可以检查我做了什么)或者如何克服这个问题。
编辑:我只能通过Test Flight访问应用程序,但我已经与负责人开发人员确认,app Transport Security已经在应用程序端考虑到了。我现在比以往任何时候都感觉到有什么东西阻塞了Windows端的传出通信。如果我打开像enable appcontainer loopback程序这样的东西,会显示一个错误,告诉我appcontainer信息不能被收集,并询问防火墙是否打开--它肯定不是打开的。升级到Windows 10可能会有所帮助吗?
发布于 2015-11-17 08:48:06
我敢打赌,你一定是被iOS 9附带的App Transport Security屏蔽了。试着在你的iPad应用的Info.plist文件中添加适当的异常。
首先,试着添加这个键/值对:
<key>NSAppTransportSecurity</key>
<dict>
<!--Include to allow all connections (DANGER)-->
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>看看能不能正常工作。如果你想向公众发布这个应用程序,我建议使用基于域的异常。More information can be found in this tutorial。
https://stackoverflow.com/questions/33746991
复制相似问题