Expo using iOS simulator: "There was a problem loading the requested app. It looks like you may be using a LAN URL." and "Could not connect to development server."

I created a new app using expo init and then tried to run it using npm start. A new browser window with the Metro Bundler opens, and when I click to launch the iOS simulator (or press “i” in the Terminal) a new iOS simulator with Expo Go opens but I am receiving the following error messages.

Remarks:

  • OS: MacOS 12.3.1 (Monterey)
  • Running the app in the browser works fine (http://localhost:19006). I can also change something in the app and the app in the browser will update in real time once I clicked save.
  • When I first tried this, the MacOS firewall asked me whether Node should be allowed to accept incoming connections, to which I agreed. Since then, I can see Node listed in the firewall section for allowing incoming connections.
  • Versions:
      expo: 5.4.3
      npm: '8.8.0',
      node: '14.17.1',
      v8: '8.4.371.23-node.67',
      uv: '1.41.0',
      zlib: '1.2.11',
      brotli: '1.0.9',
      ares: '1.17.1',
      modules: '83',
      nghttp2: '1.42.0',
      napi: '8',
      llhttp: '2.1.3',
      openssl: '1.1.1k',
      cldr: '39.0',
      icu: '69.1',
      tz: '2021a',
      unicode: '13.0'

(1) When using the “LAN” option in Metro Bundler, I first receive the following warning message in the iOS simulator: This is taking much longer than expected. You might want to check your internet connectivity.

Then Expo Go opens with the following error message:


    There was a problem loading the requested app.
    It looks like you may be using a LAN URL. Make sure your device is on the same network as the server, and that you have granted Expo Go the Local Network permission in the Settings app, or try using the tunnel connection type.
    exp://192.168.51.21:19000
    The request timed out.

(I also tried opening that URL in Safari but it times out.)

(2) When using the “Tunnel” option in Metro Bundler I receive the following error message in the iOS simulator:


    Could not connect to development server.
    
    Ensure the following:
    - Node server is running and available on the same network - run 'npm start' from react-native root
    - Node server URL is correctly set in AppDelegate
    - WiFi is enabled and connected to the same network as the Node Server
    
    URL: http://kr-esq.anonymous.XXX.exp.direct:80/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&strict=false&minify=false
    
    ABI44_0_0RCTFatal
    __37-[ABI44_0_0RCTCxxBridge handleError:]_block_invoke
    _dispatch_call_block_and_release
    _dispatch_client_callout
    _dispatch_main_queue_drain
    _dispatch_main_queue_callback_4CF
    __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__
    __CFRunLoopRun
    CFRunLoopRunSpecific
    GSEventRunModal
    -[UIApplication _run]
    UIApplicationMain
    main
    start_sim
    0x0
    0x0

(3) When using the “Local” option in Metro Bundler, I receive the following error message:


    Could not connect to development server.
    
    Ensure the following:
    - Node server is running and available on the same network - run 'npm start' from react-native root
    - Node server URL is correctly set in AppDelegate
    - WiFi is enabled and connected to the same network as the Node Server
    
    URL: http://127.0.0.1:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&strict=false&minify=false
    
    ABI44_0_0RCTFatal
    __37-[ABI44_0_0RCTCxxBridge handleError:]_block_invoke
    _dispatch_call_block_and_release
    _dispatch_client_callout
    _dispatch_main_queue_drain
    _dispatch_main_queue_callback_4CF
    __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__
    __CFRunLoopRun
    CFRunLoopRunSpecific
    GSEventRunModal
    -[UIApplication _run]
    UIApplicationMain
    main
    start_sim
    0x0
    0x0

Hey @07-cornea-beacon, can you try temporarily disabling your firewall and seeing if you’re able to connect via the simulator?

Cheers,
Adam

Thanks, @adamjnav . I think this didn’t change anything.

I then installed Watchman again using npm r -g watchman and brew install watchman. I think I also restarted my Mac. It now seems to be working using Tunnel mode. Not sure what did the trick in the end and whether it was indeed Watchman. I noticed there was an error message related to Watchman in the console which is why I installed it again:

2022-05-04T11:06:34,008: [cli] unable to talk to your watchman on /opt/homebrew/var/run/watchman/myname-state/sock! (No such file or directory)

Watchman: watchman --no-pretty get-sockname returned with exit code=1, signal=null, stderr= 2022-05-04T11:06:34,008: [cli] unable to talk to your watchman on /opt/homebrew/var/run/watchman/myname-state/sock! (No such file or directory)

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.