iOS-Contacts 프레임워크 초기 학습

2076 단어
4
  • 통신록을 가져오고 저장하기 위한 CNContactStore 객체를 만듭니다. let store = CNContactStore.init()

  • 4
  • 통신록에 접근할 수 있는 권한을 부여받았는지 판단: 4
  • let status:CNAuthorizationStatus = CNContactStore.authorizationStatus(for: .contacts)
     if status == .notDetermined {
           store.requestAccess(for: .contacts, completionHandler: { (granted:Bool, error:Error?) in
           if error != nil{
              return
           }
           if granted {
              print(" ")
           }
           else {
              print(" ")
            }
            })
    }
    

    4
  • 통신록 정보 얻기:
  • //  key 
    let keys = [CNContactGivenNameKey,CNContactFamilyNameKey,CNContactPhoneNumbersKey,CNContactImageDataKey]
    //  CNContactFetchRequest 
    let request = CNContactFetchRequest.init(keysToFetch: keys as [CNKeyDescriptor])
    //  
    do {
                try store.enumerateContacts(with: request) { (contact:CNContact, stop:UnsafeMutablePointer) in
                    //  
                    let familyName = contact.familyName
                    let givenName = contact.givenName
                    let fullName = String.init(format: "%@ %@", familyName,givenName)
                    print(fullName)
    
                    //  
                    let phoneNumberArray = contact.phoneNumbers
                    //  , 
                    let contactarray = NSMutableArray()
                    for i in 0 ..< phoneNumberArray.count {
                        let phoneNumber = phoneNumberArray[i].value
                        print(phoneNumber.stringValue)
                        contactarray.add(phoneNumber.stringValue)
                    }
                    
                    //  
                    var image:UIImage? = nil
                    if !Utils.isEmpty(contact.imageData) {
                        let imageData = contact.imageData
                        image = UIImage.init(data: imageData!)
                    }
                }
            } catch  {
            }
    

    AddressBook에 비해 새로운 Contacts 프레임워크는 더욱 쉽게 이해하고 사용할 수 있으며 통신록을 즉시 얻을 수 있고 창설과 갱신 작업을 할 수 있으며 이와 관련된 개발 과정도 극적으로 단축되어 통신록에 대한 변경과 수정을 신속하게 완성할 수 있다.

    좋은 웹페이지 즐겨찾기