2011-12-14 6 views
-1

xcodeでsms dbファイルにアクセスしようとしましたが失敗します。 私は "/private/var/mobile/Library/SMS/sms.db"というパスを知っています 私はアクセスしようとします。ファイル読み込み許可エラーが発生します。iPhone SMSファイルへのアクセス

smsdbファイルにアクセスする方法や、xcodeでそのアクセス許可を変更する方法はありません。前もって感謝します。私は、ファイルをcall_history.dbしようとすると、私はiPhoneのジェイルブレイクにしてみてください コードが

さらに
NSFileManager *fileManager = [NSFileManager defaultManager]; 
NSString *path = @"/var/mobile/Library/SMS/sms.db"; 
NSError *error; 
NSArray *content = [fileManager contentsOfDirectoryAtPath:path error:&error]; 
NSLog(@"%@", error); 
NSLog(@"Content: %@", content); 
if ([fileManager isReadableFileAtPath:path]) { 
    NSLog(@""); 
    NSLog(@"ReadAble"); 
} 
else { 
    NSLog(@"Not readable"); 
} 
if ([fileManager fileExistsAtPath:path]) 
    NSLog(@"File Exist"); 
else 
NSLog(@"No"); 

です。それはアクセス可能です。 sms.dbはありません。

+1

*幸運にも* Appleは、あなたがSMS DBのような私的なデータにアクセスするのを防ぎます。私はあなたがしたいように私の個人的なデータにアプリをスヌーピングしたくない。 – DarkDust

+0

しかし、それは個人的なアプリケーションのために便利かもしれません:) – Geoffroy

答えて

5

いいえ、現時点ではiOSの在庫管理はできません。それはフレームワーク自体によって制限されているため、そのままでは不可能です。

これは可能ですが、おそらく同じバージョンの同じ脱獄でのみ動作します。

EDIT:AppStoreのに渡さない もう一つの解決策、あなたのアプリケーションのルートアクセスを得るために(jailbreaksが行われる方法をチェックし、多くがなければならない)のiOSにいくつかの悪用可能なバグを見つけることです。その後、jailbrokenされていないiPhoneで必要なデータにアクセスできます。しかし、おそらくあなたがそれを開発したバージョンでのみ動作します。

+1

良い答え。このアプリをアプリストアで販売したい場合は、アプリを不快にするようなことはしないでください。 –

+0

jailbroken iphoneでどのようにできるか考えてもらえますか? –

+0

jailbreakされたiPhoneではroot権限を持つことができますので、必要なファイルにアクセスできます。たとえば、コードをルートとして、またはカーネルとして実行することを許可するメソッドを公開することができます。 (これは、iOSプログラミングよりもカーネルのハッキングに関連していますが、正しい方法を公開する既存の脱獄を使用する場合は例外です)。 – Geoffroy

2

すべてのiOSアプリケーションは、サンドボックス内で実行されます。サンドボックスの外にあるファイルにアクセスする方法はありません。

0

はい、アプリケーションを/ Applicationフォルダに配備する必要があります。現在、アプリケーションは/ var/mobile/Applicationフォルダに配備されています。アプリケーションは/ private/var/mobile/Libraryにアクセスする権限がありません/SMS/sms.dbでは、TheosまたはIOSopendevを使用してプロセス全体を簡単にすることができます。

関連する問題