iOS错误代码= -1003“找不到具有指定主机名的服务器。”

问题描述 投票:9回答:4

我正在尝试从iphone上的URL加载图像,图像在那里,我可以在safari中使用相同的链接打开它,但不能在应用程序中打开它:

Error Domain=NSURLErrorDomain Code=-1003 "A server with the specified hostname 
could not be found." UserInfo={NSUnderlyingError=0x17024f810 
{Error Domain=kCFErrorDomainCFNetwork Code=-1003 "(null)" 
UserInfo={_kCFStreamErrorCodeKey=50331647, _kCFStreamErrorDomainKey=6147928288}},
 NSErrorFailingURLStringKey=https://........, NSErrorFailingURLKey=https://.........

请求代码:

func downloadImage(userEmail: String, onCompletion: @escaping (UIImage) -> Void) {
    print("Download Started")
    let route = "\(baseURL as String)\(userEmail as String)\(baseURLparameters as String)"
    let url = URL(string: route)

    getDataFromUrl(url: url!) { (data, response, error)  in
        guard let data = data, error == nil else {
            print("===failed:", error ?? "dunno")
            print("===url:", url?.absoluteString ?? "dunno")
            return
        }
        print(response?.suggestedFilename ?? url!.lastPathComponent )
        print("Download Finished")
        DispatchQueue.main.async() { () -> Void in
            onCompletion(UIImage(data: data)!)
        }
    }

}
ios swift httprequest
4个回答
44
投票

在我的情况下,当我将签名团队帐户连接到Xcode时,它会自动在功能中打开App Sandbox。当我关闭它时,我可以毫无问题地做服务器请求。

enter image description here


1
投票

您的URL中的主机名是错误的,因为您收到的消息明确指出它无法找到具有该主机名的服务器。

最可能的原因是您忘记在基本URL和电子邮件之间添加正斜杠,例如如果您的基本URL是

http://example.com

你的电子邮件是

[email protected]

你构建

http://[email protected]

在创建URL的行上放置一个断点,并检查它尝试从中创建URL的字符串。然后很可能很明显你做错了什么。


0
投票

此错误表明与DNS相关的问题。通过我们的WiFi网络到达DNS服务器有一些问题。所以我们更改DNS服务器并解决此问题。删除缓存,然后重试。

如果有网址,您可以在同一台服务器上获取(而不是POST)。

此外,关闭wifi和使用3G会使错误消失。


0
投票

这种情况发生在我的情况下,因为我们的开发服务器中的一条路径是我们的防火墙/内部网/ VPN的内部,而我的设备不在我们的内部Wi-Fi上。

令人沮丧和困惑,因为它在模拟器中工作而不是在设备上工作。

© www.soinside.com 2019 - 2024. All rights reserved.