Ios Swift嵌入式HTTP服务器可在Mac上连接,但不能在iPhone上连接

Ios Swift嵌入式HTTP服务器可在Mac上连接,但不能在iPhone上连接,ios,swift,http,web,server,Ios,Swift,Http,Web,Server,我正试图让这个嵌入式HTTP服务器在Xcode iOS iPhone上工作,我所需要做的就是托管并返回一个字符串。它非常基本,只有一个swift文件。我必须在下面的方法中对以下两行进行注释才能使其正常工作,因为最上面的一行总是返回null,但在禁用这些行后在myMac控制台上运行时,它工作正常并在web浏览器中成功返回字符串 class func handler(_ request: CFHTTPMessage, fileHandle: FileHandle, server: HTTPServe

我正试图让这个嵌入式HTTP服务器在Xcode iOS iPhone上工作,我所需要做的就是托管并返回一个字符串。它非常基本,只有一个swift文件。我必须在下面的方法中对以下两行进行注释才能使其正常工作,因为最上面的一行总是返回null,但在禁用这些行后在myMac控制台上运行时,它工作正常并在web浏览器中成功返回字符串

class func handler(_ request: CFHTTPMessage, fileHandle: FileHandle, server: HTTPServer) -> HTTPResponseHandler {
    let handler = HTTPResponseHandler()
    handler.fileHandle = fileHandle
    handler.requestURL = CFHTTPMessageCopyRequestURL(request)!.takeUnretainedValue() as URL
    handler.method = CFHTTPMessageCopyRequestMethod(request)!.takeUnretainedValue() as String


    //let bodyCFData = CFHTTPMessageCopyBody(request)!.takeRetainedValue()
    //handler.body = bodyCFData as Data


    return handler
}
我直接下载了这个示例,它在myMac上运行良好,因此在一个单独的正常运行的iOS应用程序中,我将所有代码放入一个swift类文件中,除了以下进入VIEWD的行出现在一个单独的类文件控制的ViewController中

let server = HTTPServer.sharedInstance
server.router = SimpleRouter()
server.start()
RunLoop.main.run()

我无法在iPhone和GitHub的另一台服务器上成功连接,我不记得是哪台服务器,我可以在Mac上工作,但也不能在iPhone上工作。一切都可以正常编译和运行,打印日志显示服务器在localhost:8080上启动,但在web浏览器中没有连接,但是它在Mac上连接良好,并且具有相同的打印日志消息。要让服务器在iOS iPhone上工作,是否需要某种类型的权限或技巧?我的iOS、Mac OS和Xcode都是最新版本,但我在VMWare上使用的是虚拟Mac,同样,myMac控制台中的服务器也可以工作。我已经在plist中添加了允许任意加载,并且可以使用URLSession获得不安全的HTTP字符串,没有问题。谢谢您的帮助。

您在浏览器中输入的URL是什么?您不能使用
localhost:8080
。您需要输入实际iPhone的主机名或IP地址,而不是
localhost

localhost
是“那个”机器。它在模拟器中工作,因为
localhost
是您的Mac,Mac上的浏览器可以作为
localhost
连接到自身。但是当服务器在你的iPhone上,你在Mac上的浏览器中输入
localhost
时,服务器就不再在Mac上,而是在iPhone上