[swift] 연락처(Contacts) 정보를 이용한 현지화(localization) 기능 구현하는 방법

앱을 다국어 지원으로 개발할 때, 연락처 정보를 현지화하여 사용자 경험을 향상시킬 수 있다. 이를 위해서는 Swift에서 iOS 연락처 프레임워크를 사용하여 사용자의 지역과 언어에 맞는 정보를 가져와야 한다.

1. 연락처 접근 권한 요청

먼저, 사용자의 연락처에 접근하기 위한 권한을 요청해야 한다. info.plist 파일에 NSContactsUsageDescription를 추가하여 연락처에 접근하는 이유와 방식을 설명한다. 이후, CNContactStore를 사용하여 연락처에 접근할 수 있다.

import Contacts

let store = CNContactStore()
store.requestAccess(for: .contacts) { (granted, error) in
    if granted {
        // 권한이 허용되었을 때의 처리
    } else {
        // 권한이 거부되었을 때의 처리
    }
}

2. 사용자의 현지화 정보 가져오기

다음으로, 사용자의 현지화 정보를 가져와야 한다. Locale.current를 사용하여 사용자의 현지화 설정에 따른 언어, 국가, 통화 등의 정보를 가져올 수 있다.

let userLocale = Locale.current
let userLanguage = userLocale.languageCode
let userRegion = userLocale.regionCode
let userCurrency = userLocale.currencyCode

3. 연락처 정보 현지화

마지막으로, 가져온 현지화 정보를 사용하여 연락처 정보를 현지화한다. 예를 들어, 이름과 국가 코드를 사용하여 연락처 정보를 현지화할 수 있다.

let contactName = "John Doe"
let localizedContactName = NSLocalizedString(contactName, comment: "Contact Name")
let contactCountryCode = "US"
let localizedCountry = Locale.current.localizedString(forRegionCode: contactCountryCode)

이제 위의 방법을 사용하여 연락처 정보를 현지화하여 다국어 지원 앱을 만들 수 있다. 사용자의 지역과 언어에 맞게 연락처 정보를 표시함으로써 사용자의 만족도를 높일 수 있다.

참고 문헌: