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

a.a*_*ani 4 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>
Run Code Online (Sandbox Code Playgroud)

是的我允许各种例外.网络响应不会抱怨应用程序没有与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 }
Run Code Online (Sandbox Code Playgroud)

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

任何帮助,将不胜感激.:)

谢谢

a.a*_*ani 14

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

  • 我不确定这种情况下的解决方案是什么? (3认同)