如何在 React Native iOS 模拟器上模拟 Internet 连接?

How to Simulate Internet Connection on React Native iOS Simulator?

我正在尝试在 React Native ios 模拟器上模拟互联网连接状态。

我使用 NetInfo npm 持续检查互联网连接状态。

const unsubscribe = NetInfo.addEventListener(async (state) => {                    
    console.log("Is isInternetReachable?", state.isInternetReachable);                                                            
});    

我尝试使用 "Network Link Conditioner" 通过在 100% 丢失和 Wi-Fi 预设配置文件之间切换来模拟互联网连接状态,但它没有改变连接状态。

“100% 损失”不是 "Internet Unreachable" 这意味着 - 这是一个连接,但它太差了,所以 100% 的数据包都丢失了

您可以尝试更改 NetInfo 的配置,以更好地控制它检查互联网连接的方式

https://github.com/react-native-community/react-native-netinfo#configure

NetInfo.configure({
  reachabilityUrl: 'https://clients3.google.com/generate_204',
  reachabilityTest: async (response) => response.status === 204,
  reachabilityLongTimeout: 60 * 1000, // 60s
  reachabilityShortTimeout: 5 * 1000, // 5s
  reachabilityRequestTimeout: 15 * 1000, // 15s
});

重要: 请注意,调用此方法将停止再次调用之前添加的所有侦听器。最好在您的应用程序启动时调用它以避免出现问题。