我尝试将AwesomeProject
应用构建到设备上。构建成功并且启动画面显示,但随后我看到一个红色的“无法连接到开发服务器”屏幕。它说“确保节点服务器正在运行 - 从React root运行'npm start'。”
看起来节点服务器已在运行,因为当我执行npm start
时,我收到EADDRINUSE
消息,说该端口已在使用中。
答案 0 :(得分:10)
从设备访问开发服务器 您可以使用开发服务器在设备上快速迭代。为此,您的笔记本电脑和手机必须位于同一个无线网络上。
PS:http://facebook.github.io/react-native/docs/runningondevice.html#content
答案 1 :(得分:5)
另一个潜在的问题(这发生在我身上):即使您进行了所有必要的代码更改(参见http://moduscreate.com/automated-ip-configuration-for-react-native-development/以获得良好的演练),启动服务器等,它仍可能因为App Transport Security。您需要将自己的IP地址添加到应用程序NSExceptionDomains
文件中的Info.plist
列表中,或者完全禁用ATS(不鼓励 - 请阅读上述文章以了解原因)。
示例条目:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>YOUR-IP-HERE</key>
<dict>
<key>NSTemporaryExceptionAllowsInsecureHTTPSLoads</key>
<false/>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSTemporaryExceptionMinimumTLSVersion</key>
<string>1.0</string>
<key>NSTemporaryExceptionRequiresForwardSecrecy</key>
<false/>
</dict>
</dict>
</dict>
答案 2 :(得分:2)
另请注意,您的计算机和手机必须连接到同一个无线网络。
根据AppDelegate.m的评价:
要在设备上运行,请将
localhost
更改为您计算机的IP地址,并确保您的计算机和iOS设备位于同一Wi-Fi网络上。
答案 3 :(得分:1)
AppDelegate.m
中的:
To run on device, change localhost to the IP address of your computer, and make sure your computer and iOS device are on the same Wi-Fi network.
我在react-native github问题上找到了related issue。
在没有服务器的情况下运行应用程序的说明:https://github.com/facebook/react-native/issues/240
答案 4 :(得分:0)
iOS: http://facebook.github.io/react-native/docs/running-on-device-ios.html#content
Android: http://facebook.github.io/react-native/docs/running-on-device-android.html#content
答案 5 :(得分:-1)
这应该不再是一个问题。您应该能够按照文档进行操作,其中说明了以下内容: