2011-01-23 1 views
0

앱 스토어에 상당히 성공적이었던 앱이 있습니다. 그러나 약 10 리뷰 ABAddressBook을 통해 주소록에 액세스하자마자 응용 프로그램이 충돌한다는 내용의 게시물이 게시되었습니다.iPhone ABAddressBook -> NSDictionary로 인해 일부 사용자의 응용 프로그램이 중단 될 수 있습니다.

저는 애플로부터 충돌 보고서를받지 못했기 때문에이 문제를 재현 할 수 없었기 때문에 저를 미치게했습니다. 몇 명의 사용자가 내 이메일을 통해 나와 연락했지만 충돌 로그를 제공 할 수 없습니다.

ABAddressBook 구성 요소는 사용자 이름, 성 및 번호를 가져 와서 NSDictionary에 저장해야합니다. 여러 개의 순열 (예 : 숫자가없고 이름이 없거나 성이없는 경우)을 테스트했으며 기기에서 정상적으로 작동합니다.

사용자가 매우 큰 주소록을 가지고있는 경우 앱에 메모리가 부족하거나 NSDictionary에 주소록 읽기 작업을 처리하는 데 너무 오래 걸리는 경우가 있는데,이 작업을 별도의 스레드로 옮겼습니다. UI의 차단을 방지하지만 여전히 일부 사용자의 경우 응용 프로그램이 중단됩니다!

이 문제를 복제하거나 NSDictionary에 모든 세부 정보를 복사하는 방법에 대한 조언은 최선의 방법이 아닙니까?

감사합니다.

답변

0

추측 컨데 메모리 문제 일 가능성이 높습니다. 모든 데이터를 가져올 필요성을 없애고 문제를 해결할 가능성이 높아집니다.

+0

NSDictionary에 ABAPeplaceBook 연락처를 저장하고 ABPeoplePicker를 사용하지 않고 UITableView에 연락처를 저장하는 방법에 대한 다른 접근 방법이 있습니까? – Dave