React-native iOS:无法连接到开发服务器

问题描述

重新启动 Wi-Fi 路由器后,我的本地 IP 已从“192.168.1.4”更改为“192.168.1.3”,因此我已在 AppDelegate.m 中将其更改为 “http://192.168.1.3:8081/index.bundle?platform=ios&dev=true&minify=false”

但我在真机上仍然出错:

无法连接到开发服务器... 网址 http://192.168.1.3:8081/index.bundle?platform=ios&dev=true&minify=false

当我摇晃手机并将捆绑器配置为相同的 IP 192.168.1.3 和端口 8081 时,应用程序加载成功。但是快速刷新不起作用,每次更改代码时我都需要构建应用程序并配置捆绑程序。

我还在浏览器和本地网络中的另一台计算机上检查了“http://192.168.1.3:8081/index.bundle?platform=ios&dev=true&minify=false”,它工作正常。尝试在移动浏览器上加载相同的链接但没有成功。 所有设备都使用同一个网络。

我已经试过了:

  • 清理 tmp 文件夹和 watchman
  • 清理 iOS 构建文件
  • 删除并重新安装 node_modules 和 pods
  • 终止节点进程并使用 --reset-cache 重新启动 npm
  • 重启 xcode、iphone 和电脑(多次)
  • 重装守望者
  • 在 Xcode 设备窗口中设置“通过网络连接”

解决方法

那是 expo-splash-screen 包的问题,​​它不适用于新的 iOS 版本。 wifi重启后应用程序无法运行的事实只是巧合。我在 Xcode 日志中看到了一些关于闪屏的非永久性警告,但没有认真对待。 删除了“expo-splash-screen”包,一切正常。 它对我帮助很大:https://github.com/facebook/react-native/issues/31369

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...