问题描述
重新启动 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