2012-03-21 13 views
1

엄격한 개념 증명 서류를 작성 중입니다. 내가해야 할 일은 현재 다이얼 된 번호를 얻는 것입니다. CoreTelephony 프레임 워크 문서를 확인하고 callID 및 callState라는 두 가지 속성을 제공하는 CTCall이라는 클래스가 있습니다. 따라서 전화 상태 변경 (예 : 전화가 걸려 올 때, 통화 연결 등)을 감지 할 수 있지만 callID는 완전히 쓸모없는 것처럼 보입니다.전화 걸기 전화 번호

다른 방법으로이 정보에 액세스 할 수 있습니까? 개인용 API도 괜찮 았고 jailbroken 메소드도 있습니다. 왜냐하면 내가하고있는 일은 엄격하게 개념 증명입니다.

미리 감사드립니다.

답변

0

탈옥 법으로 통화 로그를 검색하는 것은 데이터베이스 파일을 직접 쿼리하는 것입니다. 이 example을 살펴보십시오.

iOS 5에서는 샌드 박스 응용 프로그램에이 파일에 대한 읽기 권한이 없으므로 수동으로 응용 프로그램에 서명하여 시스템 응용 프로그램 폴더로 복사하는 방법 (탈옥 전용)이 있습니다.

자세한 내용은 this question을 확인하십시오.

+0

답장을 보내 주셔서 감사합니다. fbernardo. 안타깝게도 iOS 5.0 이상에서는 링크에 설명 된 방법이 작동하지 않습니다. – cybervedaa

+0

@cybervedaa 답변을 업데이트했습니다. – fbernardo

1

현재 전화 걸기 번호를 검색하는 다른 방법을 찾았습니다. 아래는 코드입니다.

NSString *path = @"/var/mobile/Library/Preferences/com.apple.mobilephone.plist"; 
NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:path]; 
NSMutableString *number = [NSString stringWithFormat:@"%@", [dict valueForKey:@"DialerSavedNumber"]]; 

제한 : 그것은 숫자가 링크를 클릭하여 전화를 걸 경우 전화를 건 번호를 선택하거나이 최근 사용 목록에서 또는 contacts.It의 숫자를 클릭하여 전화를 건 경우 번호 인 경우에만 작동하지 않습니다 전화 걸기.

+0

이 방법은 작동하지 않습니다. iOS 6.1.3에서 사전 null을 얻고 있습니다. –