2011-12-14 2 views
-1

xcode에서 sms db 파일에 액세스하려고 시도했지만 실패합니다. "/private/var/mobile/Library/SMS/sms.db"라는 경로를 알고 있습니다. 액세스하려고 시도합니다. 파일 읽기 권한 오류가 발생합니다.iPhone SMS 파일에 액세스

sms db 파일에 액세스하거나 xcode에서 권한을 변경할 수있는 방법은 없습니다. 미리 감사드립니다. 내가 파일을 call_history.db 할 때 내가 아이폰 탈옥에 시도 코드는 더

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에 재고가 없습니다. 그것은 프레임 워크 자체에 의해 제한되어 있으므로 그대로 존재할 수 없습니다.

jailbroken iPhone에서 가능하지만 동일한 버전의 동일한 탈옥대에서만 작동합니다.

EDIT : AppStore에 전달하지 않는 또 다른 해결책 중 하나는 iOS에서 악용 가능한 버그를 찾는 것입니다 (탈옥이 완료된 방법을 확인해야합니다). 앱에서 루트 액세스를 얻을 수 있습니다. 그러면 jailbroken되지 않은 iPhone에서 원하는 데이터에 액세스 할 수 있습니다. 그러나 아마 당신이 그것을 개발 한 버전에서만 작동 할 것입니다.

+1

좋은 답변입니다. 이 앱을 앱 스토어에서 판매하려면 앱을 불만스럽게 만들지 마세요. –

+0

제게 jailbroken 아이폰에서 가능하다는 생각을 좀 해 주시겠습니까? –

+0

jailbroken iPhone에서 루트 액세스가 가능하므로 원하는 파일을 읽을 수 있습니다. 예를 들어 코드를 루트 또는 커널로 실행하도록 허용하는 메소드를 노출 할 수 있습니다. (iOS 프로그래밍보다 커널 해킹과 훨씬 더 관련이있다. 올바른 방법을 드러내는 기존 감옥을 사용한다면 예외 다.) – Geoffroy

2

모든 iOS 응용 프로그램은 샌드 박스 내에서 실행됩니다. 샌드 박스 외부의 파일에 액세스 할 수있는 방법은 없습니다.

0

예, 응용 프로그램을/Application 폴더에 배포하면됩니다. 현재 응용 프로그램은/var/mobile/Application 폴더에 배포 할 것입니다. 응용 프로그램은/private/var/mobile/Library에 액세스 할 수있는 권한이 없습니다. /SMS/sms.db를 사용하면 Theos 또는 IOSopendev를 사용하여 전체 프로세스를 쉽게 수행 할 수 있습니다.

관련 문제