首先先來介紹 Reveal2Loader,它是一款可以在越獄的裝置上讓 Reveal 讀取任何 app 的插件,至於 Reveal 的使用方式就先不在這邊提了。
我們可以透過這個方式來查看別人的 app 是怎麼設計 UI 的,以 Twitter 的 iOS app 為例子
我們可以看到他們所使用的字型、大小、顏色以及元件名稱等,像是這邊就是他們自己定義的 T1StatusAttributedTextView
。
越獄
我是使用 iOS 12.4 的 iPhone 6 搭配 unc0ver 來進行越獄,你可以很輕易地使用手機來開啟這個網頁來進行操作,這步驟沒什麼難度。
安裝 Reveal2Loader
透過 Cydia 來安裝 Reveal2Loader,如果安裝的時候出現了找不到來源的錯誤時,可以重新讀取 Sources 試試看。
安裝 Dropbear
我的 SSH 是使用 Dropbear,你可以透過 http://cydia.ichitaso.com
這個 Source 來安裝。
安裝 usbmuxd
我是使用 USB 的方式來連接手機裝置的,所以先在 macOS 上安裝 usbmuxd
brew install usbmuxd
並且透過指令將特定的 port 來代理原本用來連接 ssh 的 port 22。
iproxy 5678 22
接著我們就可以利用 port 5678
來連上裝置了。
操作流程
安裝完 Reveal2Loader
之後,你會發現在設定
裡頭多了 Reveal
的選項
!
接著在 Enabled Applications
裡頭打開你要觀看的 USER APPLICATIONS
!
在還沒有更新 RevealServer 的情況下,打開 Reveal 會跳出 You may need to update the Reveal library in your app 的訊息。
那麼首先就先將 RevealServer 搬運到裝置內
scp -p 5678 /Users/YourUserName/Library/Application\ Support/Reveal/RevealServer/iOS/RevealServer.framework/RevealServer root@127.0.0.1:/Library/MobileSubstrate/DynamicLibraries
以及 RevealServer.framework 複製一份到 frameworks
scp -P 5678 -r /Users/YourUserName/Library/ApplicationSupport/Reveal/RevealServer/iOS/RevealServer.framework root@127.0.0.1:/Library/Frameworks
最後記得補上
killall SpringBoard
來重新啟動 SpringBoard 來加載剛剛加入的 framework,這樣就可以在 Reveal 上看到我們剛剛開啟的 app 了!