我沿着this post中描述的行使用NSURLConnection initWithRequest:delegate:
。我遇到的问题是,当我使用Apple的link conditioner将我的互联网带宽降低到2 Mb / s时,我在10秒或更长时间内始终收到以下错误,有时它甚至会在60秒时超时...
错误域= NSURLErrorDomain代码= -1001"请求超时。"
但是,在Safari中打开相同的URL(文件下载大约2MB的链接)会导致下载几乎立即开始。同样,如果我使用curl
,则会立即开始下载。
为什么NSURLConnection
花了这么长时间才能连接到网络服务器?我的应用程序是否有可能以某种方式限制其网络访问?沙盒?
我在OS X 10.12上的部署目标是10.8。 Xcode 8.2.1
更新:我按照一些评论中的建议进行了尝试,并尝试将问题简化为可重复性最小的示例。似乎没有那么多NSURLConnection
需要很长时间来响应,但是委托方法需要花费很长时间才能被调用。我使用NSURLSession
时遇到同样的问题,但仅在使用委托时,而不是在使用基于块的完成处理程序时。因此,我在另一个问题here