diff --git a/docs/debugging.html b/docs/debugging.html index 29d71942322..c471a568f02 100644 --- a/docs/debugging.html +++ b/docs/debugging.html @@ -1,4 +1,4 @@ -
To debug the javascript code of your react app do the following:
Command + D and a webpage should open up at http://localhost:8081/debugger-ui. (Chrome only for now)Command + Option + I to open the Chrome Developer tools, or open it via View -> Developer -> Developer Tools.Hint
To debug on a real device: Open the file
RCTWebSocketExecutor.mand changelocalhostto the IP address of your computer. Shake the device to open the development menu with the option to start debugging.
Install the React Developer Tools extension for Google Chrome. This will allow you to navigate the view hierarchy if you select the React tab when the developer tools are open.
To activate Live Reload do the following:
Control + Command + Z.Enable/Disable Live Reload, Reload and Enable/Disable Debugging options.To access the in-app developer menu, shake the iOS device or press control + ⌘ + z in the simulator.
Hint
To disable the developer menu for production builds, open your project in Xcode and select
Product→Scheme→Edit Scheme...(or press⌘ + <). Next, selectRunfrom the menu on the left and change the Build Configuration toRelease.
Selecting Reload or pressing ⌘ + r in the simulator will reload the JavaScript that powers your application. If you have added new resources (such as an image to Images.xcassets) or modified any Objective-C/Swift code, you will need to re-build from Xcode for the changes to take effect (you can do this with ⌘ + r in Xcode).
To debug the JavaScript code in Chrome, select Debug in Chrome from the developer menu. This will open a new tab at http://localhost:8081/debugger-ui.
Press ⌘ + option + i or select View → Developer → Developer Tools to toggle the developer tools console. Enable Pause On Caught Exceptions for a better debugging experience.
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.
Install the React Developer Tools extension for Google Chrome. This will allow you to navigate the component hierarchy via the React in the developer tools (see facebook/react-devtools for more information).
Select Enable Live Reload via the developer menu to have the application automatically reload when changes are made to the JavaScript.
On 0.5.0-rc and higher versions, you can enable a FPS graph overlay in the developers menu in order to help you debug performance problems.
Note that running on device requires Apple Developer account and provisioning your iPhone. This guide covers only React Native specific topic.
You can iterate quickly on device using development server. To do that, your laptop and your phone have to be on the same wifi network.
iOS/AppDelegate.mlocalhost to your laptop's IPHint
Shake the device to open development menu (reload, debug, etc.)
You can also pack all the JavaScript code within the app itself. This way you can test it without development server running and submit the app to the AppStore.
iOS/AppDelegate.mjsCodeLocation = [[NSBundle mainBundle] ...react-native bundle command in terminal from the root directory of your appThe bundle script supports a couple of flags:
--dev - sets the value of __DEV__ variable to true. When true it turns on a bunch of useful development warnings. For production it is recommended to set __DEV__=false.--minify - pipe the JS code through UglifyJS.If curl command fails make sure the packager is running. Also try adding --ipv4 flag to the end of it.
If you started your project a while ago, main.jsbundle might not be included into Xcode project. To add it, right click on your project directory and click "Add Files to ..." - choose the main.jsbundle file that you generated.
Note that running on device requires Apple Developer account and provisioning your iPhone. This guide covers only React Native specific topic.
You can iterate quickly on device using development server. To do that, your laptop and your phone have to be on the same wifi network.
iOS/AppDelegate.mlocalhost to your laptop's IPHint
Shake the device to open development menu (reload, debug, etc.)
You can also pack all the JavaScript code within the app itself. This way you can test it without development server running and submit the app to the AppStore.
iOS/AppDelegate.mjsCodeLocation = [[NSBundle mainBundle] ...react-native bundle command in terminal from the root directory of your appThe bundle script supports a couple of flags:
--dev - sets the value of __DEV__ variable to true. When true it turns on a bunch of useful development warnings. For production it is recommended to set __DEV__=false.--minify - pipe the JS code through UglifyJS.When building your app for production, your app's scheme should be set to Release as detailed in the debugging documentation in order to disable the in-app developer menu.
If curl command fails make sure the packager is running. Also try adding --ipv4 flag to the end of it.
If you started your project a while ago, main.jsbundle might not be included into Xcode project. To add it, right click on your project directory and click "Add Files to ..." - choose the main.jsbundle file that you generated.