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

React Native on Ipad - Error - could not connect to development server

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

"Could not connect to development server. Ensure node server is running. The operation couldn't be completed (NSURLErrorDomain error -1004)".

我还确保节点包是 运行ning。我什至重新启动 Xcode 并使用 运行ning npm start 重新开始。

你能帮忙吗?

尝试在这里查看解决方案:

https://github.com/facebook/react-native/issues/240#issuecomment-86977126

在您的 AppDelegate.m 上,您必须更新 jsCodeLocation 并将 localhost 替换为您的机器 IP 地址。

或者将编译后的源代码捆绑到您的应用程序中,这在 AppDelegate.m 上也被注释为选项 2。您下载编译后的代码,并将其添加到您的 Xcode 项目中。

就我而言,我刚刚安装了一个非常旧的 node.js 版本(0.8.6 版)。将 node.js 更新到版本 0.12.2 后,react-native init AwesomeProject 创建的默认项目运行良好。

另一个可能导致完全相同错误的潜在问题是 iOS9 中的 App Transport Security (ATS)——这发生在我身上,即使其他所有设置都正确。在 .

查看我的描述和解决方案

我准备了一个小说明,可以帮助解决这个问题。

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

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

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

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

要在 Mac 中查找您的本地 IP 地址 OS X 打开终端应用程序(位于 /Applications/Utilities)并键入 ipconfig getifaddr en1 用于无线,或 ipconfig getifaddr en0 用于以太网。

您可以在浏览器中查看。你会看到 React Native Debugger 页面

只需将 AppDelegate.m 中的 localhost 替换为您的 IP 地址。 localhost192.168.1.100 在我的例子中。

运行 你的申请又在 Xcode 了。