react-native: [Debugger] Error for newbs trying to debug on-device

I love the idea being able to debug on the phone (it’s quite essential, actually). However for newbs doing it for the first time (/me raises hand), we’re greeted with the following error:

2015-06-11 16:55:27.840 [error][tid:com.facebook.React.WebSocketExecutor][RCTWebSocketExecutor.m:117] WebSocket connection failed with error Error Domain=NSPOSIXErrorDomain Code=61 "The operation couldn’t be completed. Connection refused"
2015-06-11 16:55:29.802 [error][tid:main][RCTWebSocketExecutor.m:58] Connection to http://localhost:8081/debugger-proxy timed out. Are you running node proxy? If                   you are running on the device, check if you have the right IP                   address in `RCTWebSocketExecutor.m`.

I think it’s bad form to ask non-objc devs to edit a class file. There has to be some type of configuration that we can edit outside of a class file buried deep in the depths of a subproject dependency.

Thoughts?

About this issue

  • Original URL
  • State: closed
  • Created 9 years ago
  • Reactions: 2
  • Comments: 17 (8 by maintainers)

Commits related to this issue

Most upvoted comments

When I tap Debug JS Remotely on my iPhone, i get the same error. Where should I be looking to fix this?

OK, the issue is that i was running from a JS bundle. The docs should state how to get this done properly. Currently there is no mention of updating AppDelegate.m also.

To debug on a real device: Open the file RCTWebSocketExecutor.m and change localhost to the IP address of your computer. Shake the device to open the development menu with the option to start debugging.

Having to update configuration strings in two different places really seems counterintuitive.

I once published the idea of having end-developers update Info.plist. What are your thoughts on leveraging Info.plist for these types of configs?

The biggest reason to move it into package.json is the write once run everwhere aspect. Android =)

IMO, it’d be nice to keep that config in package.json. I hate xcode’s point and click configuration stuff. Takes longer, needs to be manually reproduced, and you need to put screenshots in tutorials.