iOS 9+ Testflight蜂窝数据不起作用

时间:2016-08-03 15:59:16

标签: ios swift ipad testflight nsurlsessiondatatask

我有一个用Swift 2编写的移动iOS应用程序。在应用程序内部,通过

调用我们的服务器
Session.dataTaskWithRequest(request, completionHandler: (func))

我有3台带有蜂窝数据的iPad。 1个内部,我可以访问并可以连接到调试器。 2外部我无法访问,必须提出问题以了解最新情况。

内部iPad在WiFi和Cellular上使用build X,通过工作我的意思是请求通过并与服务器联系正常。

外部iPad可通过WiFi工作,但无法在手机上运行。

我们已经尝试了

  • 确保移动数据已开启,&对于特定的应用程序
  • 切换飞行模式
  • 重置网络
  • 重启设备
  • 确保dataTaskWithRequest失败时设备实际连接。

关于这里可能会发生什么的任何想法?有错过的设置吗? info.plist中的一个设置(为什么1个工作)我错过了?

1 个答案:

答案 0 :(得分:0)

所以dgatwood走在了正确的轨道上。

在某些情况下,应用程序内的请求被重新路由到外部服务器,而在其他情况下则被重新路由到内部服务器。由于这些请求源自WKWebView,因此它们具有来自WKWebView的标准HTTPHeaderField。由于这些请求指向一个写在应用程序后台的迷你服务器,这三个标头包含不正确的请求信息

  • 来源
  • Referer的
  • 主机

在合作数据计划中,发生了针对请求的过滤。由于在头字段中声明的原点与呼叫的起源不匹配,因此蜂窝网络正在丢弃请求,并且它们实际上从未到达服务器。

问题已由

更正
request.setValue(nil, forHTTPHeaderField: "Origin")
request.setValue(nil, forHTTPHeaderField: "Host")
request.setValue(nil, forHTTPHeaderField: "Referer")

希望有人认为这在某些方面很有用