Debugging on Mobile Devices (ok)
https://support.brightcove.com/debugging-mobile-devices
Last updated
https://support.brightcove.com/debugging-mobile-devices
Last updated
Product(s) Video CloudRole(s) Player Developer Topic(s)Developer Concepts/Tools Troubleshooting/Error Handling
In this topic, you will learn about debugging JavaScript on mobile devices. During development testing and debugging content on mobile platforms can be very challenging.
In this document you will learn how to get started with debugging on mobile devices and covers the following solutions:
Debugging on iOS devices
Debugging on Android devices
Using Charles on mobile devices
This document serves as a jumping off point for developers to debug on mobile devices. It does not cover all methods for mobile debugging. For more information on debugging in general, visit the JavaScript Debugging Basics documentation.
Safari version 6+ running on Mac MacOS
iPhone or iPad with iOS 6+
Note: if you are on iOS 10.3 or later, open the Settings and navigate to General > About > Certificate Trust Settings, and find the Charles Proxy certificate, and switch it on to enable full trust for it.
Apple's iOS 6 update introduced Safari Remote Debugging, which allows you debug web pages in the Safari app on iOS devices. To get started, follow the steps below:
Connect your iOS device to your machine via USB cable.
On your device, open the Settings app. Select Safari, scroll down to the bottom of the page and open the Advanced menu. Enable the Web Inspector option.Web Inspector
Still on your device, open the Safari app and browse to any web page.
On your Mac, launch Safari, open the Preferences (Safari > Preferences), and navigate to the Advanced section. Enable the Show Develop menu in the menu bar option.Show Develop Menu
Open the Develop menu. You will see your iOS device listed. When you mouse over your device name, you will see the URL to the site you've browsed to on your device displayed.Find the Device
Select the URL and a Web Inspector window will open, allowing you to preview, inspect, and debug content on your mobile browser from your desktop.Debug on Desktop
You can also use the Debugger and Console sections to further debug your page by setting breakpoints, logging data, etc.
For more detailed information on how to use Safari Web Inspector, visit the Apple's developer documentation.
Chrome 32+ running on Mac or Windows
Android device with Chrome for Android 32+
Note: The steps in this section were written using a device running Android 4.3.
Before you can begin debugging content on your device, you need to enable USB debugging in your device settings.
If you are a running Android 4.2+, you will need to enable your device's Developer options before you can turn on USB debugging. On your device, open the Settings app and select the About phone menu. Locate your device's Build number and tap it seven times.If you are running an older version of Android, you can enable USB debugging by going directly to Settings > Developer options.
Now that USB debugging is enabled on your device, follow these steps to start remote debugging with Chrome:
On your device, open the Chrome app and browse to a web page.
To the left of the Elements tab, you can select the device icon to open DevTool's Screencast feature. This allows you to open a live preview of the content as it appears on your mobile device. For more information on how you can use screencasting to interact with your device, visit Google's documentation.
For more detailed information on how to use Chrome Developer Tools, visit the Google's developer documentation.
Charles is a web proxy that can be run on your own computer, allowing you to record data that is sent and received via your web browser. Visit the Charles website for more information on this application.
Charles is compatible with Windows, Mac and Linux
iOS and/or Android device
Follow the steps below to get Charles running on your machine.
Download and install Charles on your machine.
Select OK to save changes and close the dialog.
Select OK to exit the SSL Proxying Settings dialog.
In this section, you will learn how to set up your iOS and/or Android device to work with Charles on your computer.
Setting up your iOS device
Setting up your Android device
These steps will only work on devices running Android 2.3 and up.
On your device, open a browser and navigate to //chls.pro/ssl.
Next, open the Settings > Wi-Fi menu. You will see a list of networks that you have connected to on your device. Select the wireless network that you are currently connected to. Remember, this network must match the network you are connected to on your computer.
This will open a small dialog with three options—Edit, View, or Forget. Select Edit.
Change the Proxy settings field to Manual.
In the Resources section, you can preview and inspect the web page. Hovering over elements in the Web Inspector will highlight the corresponding elements in the browser on your iOS device.Inspecting Elements
Hit your device's Back button and you will see the Developer options menu listed in the Settings.Get to Developer Options
Open the Developer options menu and check the box to enable USB debugging.Enable USB Debugging
On your computer, launch Chrome and browse to about:inspect
. On the Devices page, enable the Discover USB devices option.Discover USB Devices
Connect your device to your machine via USB cable. On your device, you will be prompted with a dialog asking if you would like to allow USB debugging. Choose OK to allow your computer to connect to your device.Allow Connection to DeviceIf you are on a Windows machine, you may need to install USB drivers. For more information, visit the Android Developer documentation.
Return to Chrome on your computer. On the about:inspect
page, you should see your connected device. Below your device name, you will be able to see a list of all of the pages open in Chrome on your device.Connected Devices
To begin debugging a web page, select the inspect link below the page URL. This will open Chrome's Developer Tools.Inspect Web Page
On your computer, run Charles. From the menu, select Proxy > Proxy Settings. Ensure a port has been assigned (e.g., 8888) and the Enable transparent HTTP proxying option is selected.Proxy settings
From the menu, select Proxy > SSL Proxy Settings. Ensure the Enable SSL Proxying option is selected.SSL Proxy settings
In the Location section, select the Add button. In the Edit Location dialog, navigate to the Port field and enter 443. Select OK to save this change.Location port 443
Select OK to close the Edit Location dialog.SSL settings with location
Navigate to Help > SSL Proxying > Install Charles Root Certificate on a Mobile Device or Remote Browser.Install root certificate
You should see a message that identifies the local Server IP and Port number (8888) that you will use to set up the device. You should also see the URL to download and install the certificate. Copy these to your computer for later use.Certificate messageNotice that you will need to enable the Charles certificate to be trusted.
On your device, make sure you are connected to the same network as your computer. You can verify this by navigating to settings > Wifi and selecting the network name to show advanced options.Device network
In the HTTP section at the bottom, select Manual mode. Then, add the Server IP and Port number (8888) that you copied from Charles in a previous step.Wifi details
On your device, open a browser and navigate to http://www.charlesproxy.com/getssl. You will be redirected to your device settings where you will be prompted to install the Charles Proxy Custom Root Certificate profile. Select the Install button to install the Charles certificate on your device.Install Charles certificate
Follow the steps to install the Charles certificate. When complete, select Done.Charles profile installed
Next, you are ready to ensure that your device trusts the Charles certificate. On your device, navigate to General > About > Certificate Trust Settings. Here you should find the Charles Proxy certificate.Certificate Trust Settings
Enable the Charles certificate. Notice the warning message. You may want to disable this certificate when not debugging with Charles.Enable trust certificate
Now, you will be able to see any data sent and received in Charles.See Charles data
You will be prompted with a Certificate name dialog. Specify a name for the certificate and set the Used for field to Wi-Fi. Select OK to install the certificate.Install Charles Certificate
In this dialog, scroll down to the bottom and enable the Show advanced options field. This will reveal Proxy and IP settings.Advanced Settings
Fill out the Proxy host name field with your computer's IP address and the Proxy port field to match the port set in Charles (by default, the port is set to 8888). Select Save.Set IP Address
In your device's default browser, navigate to a website. You will be able to see any data sent and received in Charles.See Data Transfer