[swift] PhoneNumberKit을 사용하여 특정 국가의 전화번호 일괄 수정하기

전화번호 형식을 일괄적으로 수정해야 할 때, PhoneNumberKit라는 라이브러리를 사용할 수 있습니다. 이 라이브러리는 Swift에서 전화번호를 처리하고 유효성을 검증하는 기능을 제공하며, 반복적이고 복잡한 작업을 간소화할 수 있습니다.

PhoneNumberKit 설치

PhoneNumberKit은 CocoaPods를 통해 쉽게 설치할 수 있습니다. Podfile에 다음과 같이 추가해주세요:

pod 'PhoneNumberKit'

그리고 터미널에서 다음 명령어를 실행하여 의존성을 설치합니다:

$ pod install

전화번호 수정하기

아래의 예제 코드는 PhoneNumberKit을 사용하여 특정 국가의 전화번호를 입력 받아 맞는 형식으로 수정하는 예제입니다.

import PhoneNumberKit

func formatPhoneNumber(phoneNumber: String, countryCode: String) -> String {
    let phoneNumberKit = PhoneNumberKit()
    
    do {
        let parsedPhoneNumber = try phoneNumberKit.parse(phoneNumber, withRegion: countryCode)
        let formattedPhoneNumber = phoneNumberKit.format(parsedPhoneNumber, toType: .intl)
        return formattedPhoneNumber
    } catch {
        print("전화번호 형식을 수정하는 동안 에러가 발생했습니다: \(error)")
        return phoneNumber
    }
}

let phoneNumber = "+821012345678"
let countryCode = "KR"
let formattedPhoneNumber = formatPhoneNumber(phoneNumber: phoneNumber, countryCode: countryCode)
print("수정된 전화번호: \(formattedPhoneNumber)")

위의 예제 코드에서 formatPhoneNumber 함수는 입력된 phoneNumbercountryCode에 맞는 형식으로 수정하여 반환하는 역할을 합니다.

PhoneNumberKit 클래스를 사용하여 입력된 전화번호를 파싱한 후, format 메서드를 사용하여 지정된 형식으로 수정된 전화번호를 반환합니다. 지정된 국가 코드(countryCode)에 따라 형식이 결정됩니다.

위의 코드를 실행하면 +821012345678라는 전화번호가 한국(+82)의 국제 형식으로 변경되어 출력될 것입니다.

결론

PhoneNumberKit 라이브러리를 사용하면 Swift에서 전화번호 형식을 일괄적으로 수정하는 작업을 간단하게 처리할 수 있습니다. 사용자가 입력한 전화번호를 지정된 국가의 형식에 맞게 조정하여 유효성을 검증하거나 표시할 수 있습니다. 이렇게 하면 코드 작성 시 번거로운 작업을 줄이고 전화번호 처리에 소요되는 시간과 노력을 절약할 수 있습니다.

참고 자료