Ipad 上的 React Native - 错误 - 无法连接到开发服务器

问题描述 投票:0回答:6

我正在使用 React-Native,当我使用 Xcode 和 iPhone 模拟器运行 AwesomeProject 时,一切正常,但是当我连接 iPad 并在 iPad 上构建项目时,应用程序启动时,我在 iPad 上收到错误消息:

“无法连接到开发服务器。确保节点服务器已启动 跑步。操作无法完成(NSURLErrorDomain 错误 -1004)”。

我还确保节点包正在运行。我什至重新启动了 Xcode,并通过运行 npm start 重新开始。

您能帮忙吗?

ios ipad reactjs react-native
6个回答
31
投票

在您的 AppDelegate.m 上,您必须更新

jsCodeLocation
并将
localhost
替换为您的机器 IP 地址。

要么将编译后的源代码捆绑到您的应用程序中,这也被注释为

AppDelegate.m
上的选项 2。您下载编译后的代码,并将其添加到您的 Xcode 项目中。



4
投票

另一个可能导致完全相同错误的潜在问题是 iOS9 中的应用程序传输安全性 (ATS)——这发生在我身上,即使其他所有设置都正确。 请参阅我的描述和解决方案https://stackoverflow.com/a/34880394/2397068


4
投票

我准备了一个小说明,将有助于解决这个问题。

当您的应用程序无法连接到服务器时,您将看到如下消息:

enter image description here

在 Xcode 项目中打开文件 AppDelegate.m 并查找

jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=true"];

您必须将此地址替换为您的本地地址。

enter image description here

要在 Mac OS X 中查找本地 IP 地址,请打开终端应用程序(位于 /Applications/Utilities),然后键入

ipconfig getifaddr en1
(无线)或
ipconfig getifaddr en0
(以太网)。

enter image description here

您可以在浏览器中查看。您将看到 React Native 调试器页面

enter image description here

只需将 AppDelegate.m 中的

localhost
替换为您的 IP 地址即可。就我而言,从
localhost
192.168.1.100

enter image description here

再次在 Xcode 中运行您的应用程序。


0
投票

就我而言,我刚刚安装了一个非常旧版本的node.js(版本0.8.6)。 将node.js更新到0.12.2版本后,

react-native init AwesomeProject
创建的默认项目完美运行。


0
投票

从我的角度来看,这似乎很愚蠢,但对我来说,最终我的智能手机/iPhone 不在 PC/Mac 的同一个路由器上。 该设备要么关闭了 Wi-Fi,要么以同一网络的“桥接模式”连接到另一个路由器。

SOLUTION: Connect both devices on the exactly same Wi-Fi router.
© www.soinside.com 2019 - 2024. All rights reserved.