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