FAILURE:Error Domain = NSURLErrorDomain Code = -1004"无法连接到服务器。"

时间:2017-03-02 10:56:10

标签: ios swift swift3

在此之前,我想列出我已阅读的帖子并尝试实施答案(避免重复):

我正在开发SDK,我已经创建了一些UI测试。我试图不连接到后端系统并通过在测试时在本地机器上运行的存根服务器来模拟它们。所有请求都必须转到此服务器。

我创建了一个永远不会提交到App Store的虚拟应用程序。通过这个应用程序,我计划测试SDK的屏幕。我按照上面的帖子和文章,并包含一个异常,将我的localhost服务器的不安全连接放入虚拟应用程序的Info.plist文件中。它看起来如下:

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSExceptionDomains</key>
        <dict>
            <key>localhost</key>
            <dict>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSExceptionAllowsInsecureHTTPLoads</key>
                <true/>
            </dict>
        </dict>
        <key>NSAllowsArbitraryLoadsInWebContent</key>
        <true/>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>

是的,我允许各种例外。网络响应不会抱怨应用程序没有与localhost的不安全连接的例外,而只是返回以下内容:

[Result]: FAILURE: Error Domain=NSURLErrorDomain Code=-1004 "Could not connect to the server." UserInfo={NSUnderlyingError=0x170248940 {Error Domain=kCFErrorDomainCFNetwork Code=-1004 "(null)" UserInfo={_kCFStreamErrorCodeKey=61, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=http://localhost:7878/endpoint, NSErrorFailingURLKey=http://localhost:7878/endpoint, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=61, NSLocalizedDescription=Could not connect to the server.}
[Timeline]: Timeline: { "Request Start Time": 510144201.835, "Initial Response Time": 510144201.860, "Request Completed Time": 510144201.860, "Serialization Completed Time": 510144201.860, "Latency": 0.025 secs, "Request Duration": 0.025 secs, "Serialization Duration": 0.000 secs, "Total Duration": 0.025 secs }

我查看服务器日志,但没有报告任何内容。因此,我认为它没有完全击中服务器。

任何帮助将不胜感激。 :)

由于

2 个答案:

答案 0 :(得分:12)

正如@Teffi在评论中指出的那样,我在一台无法访问我本地机器上运行的本地主机服务器的设备上运行测试。

答案 1 :(得分:0)

为我解决

我也遇到了同样的问题,现在已解决。当我停止并启动aws实例时,连接字符串已更改。单击连接按钮后,您可以在aws上找到此更改的连接字符串。然后用这个新网址替换旧网址到您的AppDelegateo类(已经有一个)

希望得到它。