Add post: remote debugging iOS devices on Linux

This commit is contained in:
Rob Watson 2020-06-08 09:24:11 +02:00
parent dbfdecef82
commit c0e030d14a
1 changed files with 83 additions and 0 deletions

View File

@ -0,0 +1,83 @@
---
title: "Remote-debugging iOS devices in Webkit and Firefox on Linux"
slug: "linux-chrome-devtools-firefox-ios"
type: post
date: 2020-06-07T18:54:08+02:00
draft: false
---
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.
### 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).