2016-09-12 4 views
1

내 애플 리케이션 중 하나를 스위프트 3으로 업데이트하고 언제나처럼 APAddressBook 라이브러리 (https://github.com/Alterplay/APAddressBook)를 사용하고 있습니다. 여기 APAddressBook에서 스위프트 예입니다 그러나 이것은 "스레드 1 : EXC_BREAKPOINT (EXC_ARM_BREAKPOINT)"로 너무스위프트 3과 함께하는 APAddressBook - EXC_ARM_BREAKPOINT

self.addressBook.loadContacts({ (contacts: [APContact]?, error: NSError?) in 
    if let uwrappedContacts = contacts { 
     // do something with contacts 
    } 
    else if let unwrappedError = error { 
     // show error 
    } 
} as! APLoadContactsBlock) 

응용 충돌, 실패하지만 난 왜 아무 생각이 없습니다.

답변

0

먼저 APAddressBookSwift 3을 지원하는지 확인합니다. 그런 다음 프레임 워크에 대한 설명을주의 깊게 읽으십시오.

사용자의 개인 정보, 아이폰 OS 10.0 이후에 연결된 iOS 앱을 보호하기 위해 아이폰 OS 10.0과

후 경고

, 사용자의 연락처를 액세스 , 정적으로 그렇게 할 의도 를 선언해야합니다. 앱의 Info.plist 파일에 NSContactsUsageDescription 키를 포함하고이 키의 목적 문자열을 제공하십시오. 앱 이 해당 목적 번호 문자열없이 사용자의 주소록에 액세스하려고하면 앱이 종료됩니다. 당신은 "스위프트 3를 지원하는"무엇을 의미합니까 -

+0

APAddressBook에 NSContactsUsageDescription를 추가는 목표 C 라이브러리? 브리징 헤더를 통해 APAddressBook을 포함합니다. 그것이 iOS 10 준비 되었기 때문에 작동해야합니까, 아니면 제가 잘못 되었습니까? 이미 힌트를 읽고 "NSContactsUsageDescription"을 포함했지만 여전히 충돌합니다. –

1

이 문제를 해결, 후 당신의 Info.plist

addressBook.loadContacts { (contacts: [APContact]?, error: Error?) in 
     if let unwrappedContacts = contacts { 
      //your code 
     }else if error != nil { 
      //your code for error 
     } 
    }