[swift] 연락처(Contacts) 정보를 이용해서 사진 앨범과 연동하는 방법

iOS 앱에서 연락처를 이용해서 사진 앨범과 연동하는 방법에 대해 알아보겠습니다.

연락처 접근 권한 추가

먼저, Info.plist 파일에 NSContactsUsageDescription 키를 추가하고 사용자에게 연락처 접근 권한을 요청하는 메시지를 작성해야 합니다. 이것은 개인정보 보호를 위한 사전 동의를 구하는 것이므로 매우 중요합니다.

<key>NSContactsUsageDescription</key>
<string>연락처를 이용하여 사진을 연동합니다.</string>

연락처에서 사진 가져오기

연락처에서 사용자의 사진을 가져오기 위해서는 Contacts 프레임워크를 사용합니다. 먼저 Contacts를 import한 후, CNContact 객체에서 이미지를 가져오는 방법은 다음과 같습니다.

import Contacts

// ...
// CNContact 객체에서 이미지 가져오기
if let imageData = contact.thumbnailImageData {
    let image = UIImage(data: imageData)
    // 이미지 사용
}

앨범에 사진 추가하기

가져온 이미지를 이용하여 사진 앨범에 추가하는 방법은 다음과 같습니다.

import Photos

// ...
// 사진 앨범에 이미지 추가
PHPhotoLibrary.shared().performChanges {
    let creationRequest = PHAssetChangeRequest.creationRequestForAsset(from: image)
    creationRequest.creationDate = Date() // 원하는 생성일을 지정
} completionHandler: { (success, error) in
    if let error = error {
        // 에러 처리
    } else {
        // 성공
    }
}

이제 연락처에서 가져온 이미지를 앨범에 추가할 수 있게 되었습니다. 이제 사용자들은 연락처에 포함된 이미지를 별도의 저장 없이 간편하게 앨범에 추가할 수 있게 될 것입니다.

참고 자료

위의 코드는 Swift 언어를 사용하여 작성되었습니다. 기기의 연락처 정보와 사진 앨범을 연동하여 사용자에게 더 나은 경험을 제공할 수 있습니다.