react-native-xcode.sh 无法正确过滤掉本地链接地址,

vvppvyoh  于 3个月前  发布在  React
关注(0)|答案(6)|浏览(92)

描述


react-native/packages/react-native/scripts/react-native-xcode.sh
第17行到第22行中:
| | fornumin 0 1 2 3 4 5 6 7 8;do |
| | IP=$(ipconfig getifaddr en${num}||echo"") |
| | if [ !-z"$IP" ];then |
| | break |
| | fi |
| | done |
该脚本通过一个接口列表查找IP,使用 ipconfig getifaddr

react-native/packages/react-native/scripts/react-native-xcode.sh
第23行到第25行中:
| | if [ -z"$IP" ];then |
| | IP=$(ifconfig | grep 'inet '| grep -v ' 127.'| grep -v ' 169.254.'|cut -d\ -f2 | awk 'NR==1{print $1}') |
| | fi |
如果前一个搜索没有找到任何内容( IP 为空),则使用较宽松的搜索,grepinet 进行ping并丢弃本地链接地址( 127.x169.254.x )。
我遇到的情况是,我的 en0 具有本地链接地址( 169.254.36.33 ),因此作为第一个搜索无法过滤出这些地址,这就是在
react-native/packages/react-native/scripts/react-native-xcode.sh
第27行中写入 63e893d
| | echo"$IP">"$DEST/ip.txt" |
的原因,因此我的iOS设备无法连接到metro示例。

重现步骤

React Native版本

0.74.1

受影响的平台

运行时-iOS

npx react-native info的输出

-

堆栈跟踪或日志

-

可复现步骤

截图和视频

  • 无响应*
byqmnocz

byqmnocz1#

⚠️缺失可复现示例
i️我们无法在您的问题报告中检测到可复现的示例。请提供以下内容:* 如果您的错误与UI相关:一个 Snack* 如果您的错误与构建/更新相关:使用我们的 Reproducer Template 。需要在您用户名下的GitHub仓库中有一个复现器。
uelo1irk

uelo1irk2#

⚠️添加或重新格式化版本信息
i️我们无法在您的问题报告中找到或解析React Native的版本号。请使用此模板,并报告您的版本,包括主要、次要和补丁编号 - 例如:0.70.2
xfyts7mz

xfyts7mz3#

如果我们需要以不同的方式修复iOS上的这个问题,请发送邮件至cipolleschi@robhogan.et al。

7tofc5zh

7tofc5zh4#

@msbit,你的问题只出现在物理设备上,对吗?在模拟器上它可以正常工作,是吗?

l5tcr1uw

l5tcr1uw5#

@cipolleschi 我没有仔细检查,但我猜想在:
react-native/packages/react-native/scripts/react-native-xcode.sh
第16行的63e893d
| | if !"$SKIP_BUNDLING_METRO_IP"&&"$CONFIGURATION"=*Debug*&&!"$PLATFORM_NAME"==*simulator ;then |
会在模拟器下排除这种行为。

eoigrqb6

eoigrqb66#

是的,这是可能的。@robhogan你能拿这个吗?我下周要休假。否则我可以回来后再处理这件事。

相关问题