2012-10-23 3 views
0

승 나는 시뮬레이터 및 장치에이 좀비 문제를 참조하십시오좀비 오류가 ABAddressBookCreate

  • [NOT A Type 클래스] : 할당이 해제 된 인스턴스에 보낸 메시지 0x5bf9450

수이 문제를 생성하는 코드 더 이상 단순하지 않아야합니다.

+ (void) testAllocateAndDeallocteAddressBook 
{ 
    ABAddressBookRef addressBookRef = ABAddressBookCreate(); 

    NSAssert(addressBookRef != NULL, @"ABAddressBookCreate() returned NULL"); 

    CFRelease(addressBookRef); 

    return; 
} 

왜이 CFRelease()가이 오류를 일으키는 지 이해할 수 없습니다. 이 URL에 대해 읽은 Apple의 모든 문서는 ref를 해제하기 위해 CFRelease()가 호출되어야 함을 나타냅니다.

+0

내가 아는 한 ABAddressBookCreate는 더 이상 사용되지 않습니다. 여기를 보아라. http://developer.apple.com/library/ios/#documentation/AddressBook/Reference/ABAddressBookRef_iPhoneOS/Reference/reference.html 문제의 원인 일 수 있습니다. – Bergasms

답변

0

여기가 문제 일 수 있습니다. 이것은 사과 페이지에 대한 토론에서 온 것입니다.

반환 된 주소록에 대한 변경 사항은 ABAddressBookSave를 사용하여 주소록을 저장 한 후에 만 ​​주소록 데이터베이스 에 반영됩니다.

아이폰 OS 6.0에

와 발신자가 주소록 데이터베이스에 대한 액세스 권한이없는 경우 나중에 : 아이폰 OS 6.0에 링크 애플 리케이션과 들어

나중에,이 함수는 NULL을 반환한다. 이전 버전의 iOS에 연결된 앱의 경우이 함수는 비어있는 읽기 전용 데이터베이스를 반환합니다.