Skip to content

NetInfo not reporting cellular connection type on Physical iPhone #13579

Description

@Eptis

Description

I'm using NetInfo to determine if a user is connected to cellular, wifi or is offline. In the specific case of cellular, I only see it report cell after a fresh install of the application but after a second or so immediately switch to none as the reported connectivity type. Switching to other connectivity types (wifi/airplane mode) and then back to a cellular connection then always reports none as the connectivity type. I would expect that it would always report cell if i'm connected over a cellular connection. I double checked the cellular connection and I'm perfectly able to navigate the web using the cellular connection.

Reproduction Steps and Sample Code

// Using a physical iPhone 5C
// index.ios.js
componentWillMount() {
    NetInfo.addEventListener('change', type => {
      this.setState({connectionTypes: [type, ...this.state.connectionTypes]})
    })
    NetInfo.fetch().done((type) => {
      this.setState({connectionTypes: [type, ...this.state.connectionTypes]})
    });
  }

// debug logs from logging the value from RCTNetInfo.m
2017-04-19 13:37:36.441607+0200 testApp[434:45758] Value of string is wifi
2017-04-19 13:37:40.847758+0200 testApp[434:45758] Value of string is wifi
// Turn off Wi-Fi
2017-04-19 13:37:40.857796+0200 testApp[434:45758] Value of string is cell
2017-04-19 13:37:41.236509+0200 testApp[434:45758] Value of string is cell
2017-04-19 13:37:44.287310+0200 testApp[434:45758] Value of string is none
2017-04-19 13:38:22.312907+0200 testApp[434:45758] Value of string is none
// Turn on Wi-Fi
2017-04-19 13:38:22.314427+0200 testApp[434:45758] Value of string is wifi
2017-04-19 13:38:22.418884+0200 testApp[434:45758] Value of string is wifi
// Turn off Wi-Fi
2017-04-19 13:38:26.224729+0200 testApp[434:45758] Value of string is none
2017-04-19 13:38:26.225849+0200 testApp[434:45758] Value of string is none
2017-04-19 13:38:29.342270+0200 testApp[434:45758] Value of string is none
// Turn on Wi-Fi
2017-04-19 13:38:32.915707+0200 testApp[434:45758] Value of string is wifi
2017-04-19 13:38:32.999602+0200 testApp[434:45758] Value of string is wifi
// Turn off Wi-Fi
2017-04-19 13:38:36.066518+0200 testApp[434:45758] Value of string is none
2017-04-19 13:38:36.067376+0200 testApp[434:45758] Value of string is none

Basically boot the app, setup the event listener and then start turning the Wi-Fi on and off.

Solution

Not sure about this, but maybe something is going wrong with the events being dispatched by the observing ObjC code in RCTNetInfo?

Additional Information

  • React Native version: 0.43.3
  • Platform: iOS 10.3.1
  • Development Operating System: macOS Sierra
  • Dev tools: Xcode

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions