如何通过 iOS 设备(使用 Xcode)向 localhost 发出请求?

Posted

技术标签:

【中文标题】如何通过 iOS 设备(使用 Xcode)向 localhost 发出请求?【英文标题】:How to make a request to localhost via iOS device (using Xcode)? 【发布时间】:2016-07-10 03:32:19 【问题描述】:

我在 localhost:1336 有一个 localhost 网站。当我使用 Xcode 在我的模拟器上运行它时,该应用程序没有遇到任何问题向本地主机请求数据。但是当我通过 USB 电缆将我的 iPhone 连接到 mac,并在 iPhone 设备上运行应用程序并发出请求时,我收到一个错误“错误 - 无法连接到服务器。”。

我还确认他们使用相同的 Wi-Fi 并使用相同的 IP。在我的 iPhone 上的 Safari 上,我去了http://IPNumber:1336,它能够通过我的 iPhone 访问该网站。但是由于某种原因,通过该应用程序,它无法连接到服务器。

对此的任何意见或见解将不胜感激。先感谢您。

【问题讨论】:

【参考方案1】:

“本地主机”一词表示相同的设备,我认为您的意思是本地网络上的主机?进入 localhost:1336 意味着您的设备正在连接到自身,它与进入 127.0.0.1:1336 相同。因此为什么它可以在您的模拟器上运行而不是在您的手机上运行,​​因为您的服务器和模拟器在同一台设备上运行

你也必须在你的应用中使用http://IPNumber:1336

【讨论】:

【参考方案2】:

“本地主机”表示相同的设备。如果您没有在 iPhone 上运行 HTTP 服务,则不应使用“localhost”。 还有一点,你使用的是“http”,如果你的 iPhone 运行的是 ios9+,你需要检查 App Transport Security 是否会出现问题,这里有一篇关于如何做到这一点的文章:http://ste.vn/2015/06/10/configuring-app-transport-security-ios-9-osx-10-11/

【讨论】:

以上是关于如何通过 iOS 设备(使用 Xcode)向 localhost 发出请求?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 phonegap/javascript iOS 读取设备令牌 (parse.com)

如何使用连接 USB 电缆调试在 Xcode 未启动的移动设备中执行的 iOS 应用程序

如何通过 Xcode 将 React Native iOS 应用程序构建到设备?

将 iOS 设备添加到 Xcode 的设备中,无需电缆即可进行调试/构建

如何通过 GCM 向 iOS 设备发送推送通知?

如何从连接到 Xcode 的设备中理解 ios 崩溃报告?