If you’re an iOS Developer. You’ve probably heard of Reveal.

It’s a powerful runtime view debugging tool for iOS developers.

If you have a jailbroken iOS device. You’re possible to debug any other’s apps without having its source code.

Read Peter Steinberger’s post How to Inspect the View Hierarchy of Third-Party Apps.

I’ll show you how to inspect with iOS 12.

Reveal-App-Store.png

Preparing

Install Reveal

brew cask install reveal

Jailbreak an iOS device. My tutorial.

Install Xcode 9.4 with xcode-install or download from Apple.

xcversion install "9.4.1"

Installing

Checkout my modified version of Reveal2Loader

git clone https://github.com/HackingGate/Reveal2Loader.git
cd Reveal2Loader

Build .deb package

./build.sh

Upload .deb package to jailbroken iOS device

scp releases/debs/naville.revealloader2_1.0.0-1_iphoneos-arm.deb [email protected]:~/

SSH login in jailbroken iOS device

Install .deb. It will download RevealServer.zip form my download center. And set everything up.

dpkg -i naville.revealloader2_1.0.0-1_iphoneos-arm.deb

Inspecting

On your jailbroken device. Open Settings -> Reveal

Settings-Reveal.png

Enable applications you want to inspect

Reveal-Enable.png

Open Reveal.app. You’ll see inspectable apps appear.

Reveal-App.png

Reveal only works on Apple’s own UI framework. Frameworks such as Flutter only shows one layer.

Reveal-FlutterView.png

Pinterest is using ASCollectionView for its waterfall layout.

Reveal-Pinterest.png

Pixiv ScrollView for image zoom.

Reveal-Pixiv.png