请求未发送

str*_*eem 11 nsurlconnection ios swift ios8

当我从我的应用程序中使用API​​时,我遇到了一个奇怪的问题.有时候,没有任何理由,请求只是没有发送,并且在超时结束时失败并出现以下错误:

Error Domain=NSURLErrorDomain Code=-1001 "The request timed out."
Run Code Online (Sandbox Code Playgroud)

我已经尝试了许多API,如NSURLConnection代表,NSURLSessionNSURLConnection.sendSynchronousRequest没有成功.

这是我为突出问题而做的一个示例项目.ConnectionBugApp

以下是重现的步骤:

  • 在Xcode中运行应用程序并停止调试,以便应用程序在您的手机上
  • 打开应用程序,单击测试连接(它成功,加载轮停止旋转后)
  • 转到其他应用程序,如facebook/twitter /网络游戏(有些有点重),并切换到飞行模式几次
  • 返回我的应用程序并单击测试连接(加载轮永不停止)

一些可能有用的细节:

  • 如果我使用我的服务器IP而不是我的域名,它就会成功

  • 仅在LTE/4G网络上出现问题

任何想法或解决方法将不胜感激!随意询问更多细节.

谢谢

编辑

自从我第一次发布它以来,我已经编辑了很多描述(希望能让它更清晰,更清晰),如果有些答案或评论不再有意义,我很抱歉.

str*_*eem 2

正如评论中提到的,我在我的托管服务上启用了 DNSSEC(缓存中毒保护)。

禁用它,解决了问题,尽管这可能不是一个很好的解决方案。经过几周的搜索,这就足够了。

我会将赏金奖励给可以解释它的人,或者可以提供更好解决方案的人。