old-old-netflux-blog/content/post/remotedebug-webkit-ios-13.md

88 lines
1.9 KiB
Markdown
Raw Normal View History

---
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).