我正在使用 React-Native,当我使用 Xcode 和 iPhone 模拟器运行 AwesomeProject 时,一切正常,但是当我连接我的 iPad 并在我的 iPad 上构建项目时,我在应用程序启动时在 iPad 上收到一个错误:
“无法连接到开发服务器。确保节点服务器正在运行。操作无法完成(NSURLErrorDomain 错误 -1004)”。
我还确保节点包正在运行。我什至重新启动了 Xcode,并通过运行 npm start 重新开始。
你能帮忙吗?
我正在使用 React-Native,当我使用 Xcode 和 iPhone 模拟器运行 AwesomeProject 时,一切正常,但是当我连接我的 iPad 并在我的 iPad 上构建项目时,我在应用程序启动时在 iPad 上收到一个错误:
“无法连接到开发服务器。确保节点服务器正在运行。操作无法完成(NSURLErrorDomain 错误 -1004)”。
我还确保节点包正在运行。我什至重新启动了 Xcode,并通过运行 npm start 重新开始。
你能帮忙吗?
在您的 AppDelegate.m 上,您必须更新jsCodeLocation
并替换localhost
为您的机器 IP 地址。
或者将编译后的源代码捆绑到您的应用程序中,这也被注释为选项 2 AppDelegate.m
。您下载编译后的代码,并将其添加到您的 Xcode 项目中。
另一个可能导致完全相同错误的潜在问题是 iOS9 中的 App Transport Security (ATS)——这发生在我身上,即使其他所有设置都正确。在https://stackoverflow.com/a/34880394/2397068上查看我的描述和解决方案。
我准备了一个小说明,这将有助于解决这个问题。
当您的应用程序无法连接到服务器时,您将看到如下消息:
在 Xcode 项目中打开文件 AppDelegate.m 并查找
jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=true"];
您必须将此地址替换为您的本地地址。
要在 Mac OS X 中查找您的本地 IP 地址,请打开终端应用程序(位于 /Applications/Utilities 中)并键入ipconfig getifaddr en1
无线或ipconfig getifaddr en0
以太网。
您可以在浏览器中查看。你会看到 React Native Debugger 页面
只需将localhost
AppDelegate.m 中的替换为您的 IP 地址。localhost
在192.168.1.100
我的情况下。
再次在 Xcode 中运行您的应用程序。
就我而言,我刚刚安装了一个非常旧的 node.js 版本(版本 0.8.6)。将 node.js 更新到 0.12.2 版本后,react-native init AwesomeProject
创建的默认项目运行良好。