88 lines
1.9 KiB
Markdown
88 lines
1.9 KiB
Markdown
---
|
|
title: "Remote-debugging iOS devices in Webkit and Firefox on Linux"
|
|
slug: "linux-chrome-devtools-firefox-ios"
|
|
date: 2020-06-07T18:54:08+02:00
|
|
draft: false
|
|
tags:
|
|
- coding
|
|
- webkit
|
|
- linux
|
|
---
|
|
|
|
I choose Linux for my desktop computing environment but frequently have to debug web pages in iOS devices using Chrome or Safari.
|
|
|
|
These steps successfully enabled live debugging for iOS devices in Chrome devtools (and should also work in Mozilla Debugger, but I haven't tested this yet.)
|
|
|
|
Testing environment:
|
|
|
|
* Ubuntu 18.04
|
|
* Chrome 81
|
|
|
|
It seems that the `master` branch of libusbmuxd (and possibly other libraries) is required to ensure compatibility with iOS 13. This requires building from source on Linux.
|
|
|
|
I pushed a Docker image that automates these steps: https://github.com/rfwatson/remotedebug-ios-webkit-adapter-docker
|
|
|
|
Non-container steps:
|
|
|
|
### 1. Install libplist
|
|
|
|
```bash
|
|
git clone https://github.com/libimobiledevice/libplist.git
|
|
cd libplist
|
|
./autogen.sh
|
|
make
|
|
sudo make install
|
|
```
|
|
|
|
### 2. Install libusbmuxd
|
|
|
|
```bash
|
|
git clone https://github.com/libimobiledevice/libusbmuxd.git
|
|
cd libusbmuxd
|
|
./autogen.sh
|
|
make
|
|
sudo make install
|
|
```
|
|
|
|
### 3. Install libimobiledevice
|
|
|
|
```bash
|
|
git clone https://github.com/libimobiledevice/libimobiledevice.git
|
|
cd libimobiledevice
|
|
./autogen.sh
|
|
make
|
|
sudo make install
|
|
```
|
|
|
|
### 4. Install ios-webkit-debug-proxy
|
|
|
|
```bash
|
|
git clone https://github.com/google/ios-webkit-debug-proxy.git
|
|
cd ios-webkit-debug-proxy
|
|
./autogen.sh
|
|
make
|
|
sudo make install
|
|
```
|
|
|
|
### 5. Install remotedebug-ios-webkit-adapter
|
|
|
|
```bash
|
|
npm install remotedebug-ios-webkit-adapter -g
|
|
```
|
|
|
|
|
|
### 6. Set up device
|
|
|
|
* Plug in iOS device via USB port, ensure it is trusted.
|
|
* Check that _Settings > Safari > Advanced > Web Inspector_ is enabled.
|
|
|
|
### 7. Start the proxy
|
|
|
|
```bash
|
|
remotedebug_ios_webkit_adapter --port=9000
|
|
```
|
|
|
|
### 8. Configure Chrome and/or Firefox
|
|
|
|
See [here](https://github.com/RemoteDebug/remotedebug-ios-webkit-adapter#usage).
|