任意のアプリを3Dで階層構造を表示する遊びが楽しい

  • このエントリーをはてなブックマークに追加
  • feedly
    follow us in feedly

iOSアプリ開発者ならご存知かと思われる階層表示が出来るインスペクタ「Reveal App」や「Spark Inspector」
自作アプリをGUIで3D表示から多段レイヤーの重なりを直感的にデバックが出来るツールとして有名ですね。ただ、通常は自作アプリにしか適応できません。今回は、そこを他のアプリでも動かしてにやにやと楽しむ方法をご紹介します。

Reveal App


Spark Inspector – Runtime Inspection for iOS Apps

Jailbreak端末にて他のアプリでも階層構造を表示を可能に

脱獄していることが前提となりますが、他のアプリをインスペクタツール上に表示させる方法があります。

参考記事:
How To Inspect The View Hierarchy Of Third-Party Apps – Peter Steinberger


How to Inspect the View Hierarchy

僕は、Reveal Appで試してみました。

1. 脱獄はここを参考に・・割愛させて頂きます。
iOS 7の完全脱獄ツールがリリース!!iOS 7の脱獄で入れときたいリポジトリ、Tweak! | きんちゃんぶろぐ


2. CydiaからOpenSSH, CydiaSubstrateをインストールしてください。

3. Reveal.framework、libRevel.dylibを移植。
MacのReveal.app内にあるReveal.frameworkをiPhoneの/System/Library/Frameworksにコピーします。
scp -r /Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/Reveal.framework root@192.168.1.xxx:/System/Library/Frameworks

また、libRevel.dylibをDynamicLibrariesにコピーします。
scp /Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib root@192.168.1.xxx:/Library/MobileSubstrate/DynamicLibraries

4. Filterを掛ける
特定のアプリのみどうさせるには
/Library/MobileSubstrate/DynamicLibraries/libReveal.plist
を作成し、Filterを掛けます。

{ Filter = { Bundles = ( "AppBundleIdentifier" ); }; }

SpringBoardをFilterに掛けてもクラッシュ等はしませんが、読み込まないですね・・Filterを掛けないと全てのアプリで動作します。

5. Respringをする。
killall -9 SpringBoard

Spark Inspectorでする方法

こちらは試していませんが、Reveal App同様にdylibを移植する事で可能なようです。
とっくに30日の使用期限が切れてる(´;ω;`)・・

scp "/Applications/Spark Inspector.app/Contents/Resources/Frameworks/SparkInspector.dylib" root@192.168.1.xxx:/Library/MobileSubstrate/DynamicLibraries

Filterも同様に掛けてください。


Tweetbotで動かしたときの様子

スクリーンショット 2014 02 26 12 11 25

天気で動かしたときの様子

スクリーンショット 2014 02 26 12 53 27

まとめ

見てるだけで面白いですが、Tweakを作る際には若干役に立ちそう。視覚的に階層表示が出来るのでパッチを当てるViewが簡単に分かって便利だね。

これはニヤニヤできる!

では、きんちゃん( @wa_kinchan )でした。
最後まで読んで頂きありがとうございます。良かったら、RSS購読、シェアして下さいね(≧∀≦)!





One Thought on “任意のアプリを3Dで階層構造を表示する遊びが楽しい

  1. ななし on 2014年2月26日 at 2:51 PM said:

    久しぶりの更新ですね^ ^
    てかひどい!!
    ニヤニヤとか期待させといて最後まで何もないとか、、、

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Post Navigation