2012-05-31 6 views
7

私はiOSのフレームワークについて混乱しています。私は彼らが基本的にダイナミックライブラリ、ヘッダーとリソースを含むディレクトリだと思う。iOSフレームワークのバイナリはファイルシステムにどこにありますか?

私のデバイスでは、System/Library/Frameworksのframeworksディレクトリにダイナミックライブラリが含まれていません。これはどのように可能ですか?それを必要とするアプリケーションが起動されたときにメモリにロードされるべきではありませんか?

答えて

13

バイナリは、デバイス上に存在しなくなりました(iOS 3.1以降はありません)。Appleは、それらをすべて1つの大きなキャッシュファイルにマージしました。通常、ページは決して変更されないので、カーネルは実行中のすべてのイメージ間で効果的にそれらを共有できます。指定されたライブラリがキャッシュに存在する場合は、dyldファイルの短絡を検出するため、キャッシュ内に保持されているファイルに対しては、引き続きdlopen()を使用できます。

キャッシュファイルは/System/Library/Caches/com.apple.dyldであり、アーキテクチャ(armv6またはarmv7)の名​​前になっています。ライブラリは、内in this repository利用可能dsc_extractorまたはKennyTMのdyld_decacheを、使用して抽出することができますが、一度、彼らは実際に適切にメモリにロードすることはできません抽出(それらはすべてが効果的にシンボルテーブルをキャッシュにマージされますよう。)

ビットがありますより良い(より古くて知識の少ない、より詳細な)書き込みはここにある:http://blog.howett.net/2009/09/cache-or-check/

2

私もこれに気付きました。奇妙な。 「彼らがどこにいる」私はあなたに説明することはできませんが、私は、たとえば、観察した:

私は(プライベート)のフレームワークディレクトリをリストする場合:

iPhone4:/System/Library/PrivateFrameworks/BluetoothManager.framework root# ls -alt 
total 8 
lrwxr-xr-x 1 root wheel 28 Nov 4 2011 CodeResources -> _CodeSignature/CodeResources 
drwxr-xr-x 3 root wheel 170 Nov 2 2011 ./ 
drwxr-xr-x 2 root wheel 102 Nov 2 2011 _CodeSignature/ 
-rw-r--r-- 1 root wheel 740 Nov 2 2011 Info.plist 
drwxr-xr-x 170 root wheel 5814 Dec 31 2007 ../ 

iPhone4:/System/Library/PrivateFrameworks/BluetoothManager.framework root# ls -alt _CodeSignature/ 
total 0 
drwxr-xr-x 3 root wheel 170 Nov 2 2011 ../ 
drwxr-xr-x 2 root wheel 102 Nov 2 2011 ./ 
-rw-r--r-- 1 root wheel 1222 Nov 2 2011 CodeResources 

あなたはBluetoothManager.framework/BluetoothManagerが表示されませんdylibファイル。そのファイルが存在するかのようにしかし、このコードは、実際に、動的にそのフレームワークを開くために動作しない:ルートファイルシステム(「/」)からfindコマンドを使用

handle = dlopen("/System/Library/PrivateFrameworks/BluetoothManager.framework/BluetoothManager", RTLD_LAZY); 

位置も指定したデバイスには、ファイルが見つかりませんBluetoothManager

私はそれがおそらくあなたが探している答えではないことを知っていますが、に応じて、なぜあなたが知りたい、多分それは助けますか?

+0

iPhone4でどのようにlsコマンドを実行しましたか?電話機は脱獄されましたか? – gabbler

+0

@ gabbler、はい、これはjailbroken iPhone 4で、sshアクセスが有効になっています。 – Nate

関連する問題