xcode React-Native IOS真实的设备未连接到Metro服务器

ilmyapht  于 2022-11-18  发布在  React
关注(0)|答案(9)|浏览(354)

我的模拟器工作正常,它连接到开发服务器第一次尝试。但在我的真实的设备上,我必须 * 删除节点模块,重新安装Podfiles,清理building文件夹并删除Derived Data,然后它在Xcode中加载了一段时间,最后连接到dev server*。但在我停止它并想再次运行它后,它无法连接。我过去可以只运行npm start在我的手机上启动我的应用程序,它会自动连接,我可以进行更改,它会刷新等等,但现在即使运行Xcode,它也不能工作10/9次。
是的,我的手机和电脑在同一个网络上。我试着在手机上的捆绑设置中设置我的mac的IP,没有成功。
有人知道吗?

esyap4oy

esyap4oy1#

有同样的问题。这些是我的步骤来'修复'这个:

  • 确保你没有插上以太网网线。只有wifi网络(iPhone和Mac必须在同一个wifi网络上)!我认为这是我的情况下的主要问题。
  • 关闭metro,应用程序通常会启动(因为原生应用程序构建也包含js构建)。
  • 然后再跑地铁。
  • 使用Mac的IP摇动设备和Configure Bundler
  • 它似乎只有重新保存这个屏幕有帮助-所以你不必花时间寻找和输入IP
  • 然后它应该能连接到你的地铁

我花了几个小时尝试所有可能的修复方法...
另一个提示:

huus2vyu

huus2vyu2#

对我来说,这是XCode构建的目标是Release,而不是Debug
只需导航Product > Scheme > Edit Scheme并将Build Configuration更改为Debug

zzwlnbp8

zzwlnbp83#

应用程序启动后,摇动设备进入开发菜单,点击配置捆绑器,输入运行Metro的机器的IP地址。我的设置是默认的localhost。还有一个metro.config.js,我认为你可以设置它来使用一个规范。
如果您使用的是mac,则可以在系统pref -〉network -〉WIFI中找到本地IP地址

kyxcudwk

kyxcudwk4#

对我来说,删除node_modules文件夹就足够了

rm -rf node_modules

那我就跑了

npm install; 
npm start -- --reset-cache;

并重新安装了吊舱

cd ios; rm -rf Podfile.lock Pods; pod --repo-update install; cd ..;
ckocjqey

ckocjqey5#

唯一可以预见的是,我可以用mac连接到iPhone的热点。
不理想,但没有其他工作为我🤷‍♀️
我在M1上以防万一

ruyhziif

ruyhziif6#

作为一个经验法则,每当运行一个应用程序在iOS设备上,甚至是一个模拟器,我已经使用之前,我卸载的应用程序,然后再运行。
不确定在这种情况下你是否有以前的版本,但值得在黑暗中一试。
我发现通过Xcode而不是react-native run-ios运行也更一致。

bq3bfh9z

bq3bfh9z7#

关闭/打开设备/Mac上的wi-fi,重建应用程序

wpx232ag

wpx232ag8#

在尝试了所有我能做的事情之后,对我有效的是在ios文件夹中创建一个文件main.jsbundle,添加到XCode项目中,并使用Target Membership部分(在XCode中)将该文件与应用程序一起定位

ojsjcaue

ojsjcaue9#

在iOS 16上,真实的设备无法连接到metro bundler。要验证这一点,请打开safari并输入您的mac的IP,例如192.168.1.10:80818081是bundler端口),如果页面无法加载,则存在网络问题。
解决方案:取消勾选Mac网络设置下的Disable unless needed复选框:

这将使iOS设备进入热点模式,但mac将继续使用WiFi连接进行互联网浏览。不知道这是什么魔法,但它的工作。

相关问题