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