我有一个用Swift 2编写的移动iOS应用程序。在应用程序内部,通过
调用我们的服务器Session.dataTaskWithRequest(request, completionHandler: (func))
我有3台带有蜂窝数据的iPad。 1个内部,我可以访问并可以连接到调试器。 2外部我无法访问,必须提出问题以了解最新情况。
内部iPad在WiFi和Cellular上使用build X,通过工作我的意思是请求通过并与服务器联系正常。
外部iPad可通过WiFi工作,但无法在手机上运行。
我们已经尝试了
dataTaskWithRequest
失败时设备实际连接。 关于这里可能会发生什么的任何想法?有错过的设置吗? info.plist中的一个设置(为什么1个工作)我错过了?
答案 0 :(得分:0)
所以dgatwood走在了正确的轨道上。
在某些情况下,应用程序内的请求被重新路由到外部服务器,而在其他情况下则被重新路由到内部服务器。由于这些请求源自WKWebView,因此它们具有来自WKWebView的标准HTTPHeaderField。由于这些请求指向一个写在应用程序后台的迷你服务器,这三个标头包含不正确的请求信息
在合作数据计划中,发生了针对请求的过滤。由于在头字段中声明的原点与呼叫的起源不匹配,因此蜂窝网络正在丢弃请求,并且它们实际上从未到达服务器。
问题已由
更正request.setValue(nil, forHTTPHeaderField: "Origin")
request.setValue(nil, forHTTPHeaderField: "Host")
request.setValue(nil, forHTTPHeaderField: "Referer")
希望有人认为这在某些方面很有用