[swift] PhoneNumberKit을 사용하여 전화번호 유효성 검사 및 포맷팅 기능 추가하기

전화번호를 유효성 검사하고 필요한 형식으로 포맷팅하는 기능은 많은 애플리케이션에서 필수적으로 사용됩니다. Swift에서는 PhoneNumberKit이라는 유용한 라이브러리를 사용하여 이러한 작업을 쉽게 처리할 수 있습니다.

PhoneNumberKit이란?

PhoneNumberKit은 Swift로 개발된 전화번호 관련 유틸리티 라이브러리입니다. 이 라이브러리는 전화번호의 유효성을 검사하고, 국가 코드별로 포맷팅하는 기능을 제공합니다. PhoneNumberKit은 Swift 5를 지원하므로 최신 Swift 프로젝트에서 사용하기에 적합합니다.

PhoneNumberKit 설치하기

PhoneNumberKit을 프로젝트에 추가하기 위해서는 Swift 패키지 매니저를 사용해야 합니다. 프로젝트 폴더에서 Terminal을 열고 다음 명령어를 실행합니다:

$ swift package init

이 명령어를 실행하면 Package.swift 파일이 생성됩니다. 이 파일을 열고 dependencies 항목에 PhoneNumberKit을 추가합니다:

// Package.swift

// ...

let package = Package(
    // ...
    dependencies: [
        // ...
        .package(url: "https://github.com/marmelroy/PhoneNumberKit.git", from: "3.4.0"),
    ],
    // ...
)

패키지 종속성을 추가한 후, 다음 명령어를 사용하여 패키지를 업데이트합니다:

$ swift package update

이제 PhoneNumberKit을 사용하기 위한 준비가 완료되었습니다.

PhoneNumberKit을 사용하여 전화번호 유효성 검사하기

PhoneNumberKit을 사용하여 전화번호의 유효성을 검사하는 예제를 살펴보겠습니다. 다음은 PhoneNumberKit을 사용하여 전화번호의 유효성을 검사하는 방법입니다:

import PhoneNumberKit

let phoneNumberKit = PhoneNumberKit()

do {
    let phoneNumber = try phoneNumberKit.parse("+15555555555")
    print("유효한 전화번호입니다")
} catch {
    print("유효하지 않은 전화번호입니다")
}

위의 예제에서 phoneNumberKit.parse() 메서드를 사용하여 전화번호를 파싱하고, 만약 전화번호가 유효하지 않으면 catch 블록에서 오류 처리를 할 수 있습니다.

PhoneNumberKit을 사용하여 전화번호 포맷팅하기

PhoneNumberKit을 사용하여 전화번호를 국가 코드에 맞게 포맷팅하는 예제를 살펴보겠습니다. 다음은 PhoneNumberKit을 사용하여 전화번호를 포맷팅하는 방법입니다:

import PhoneNumberKit

let phoneNumberKit = PhoneNumberKit()

do {
    let phoneNumber = try phoneNumberKit.parse("+15555555555")
    let formattedPhoneNumber = phoneNumberKit.format(phoneNumber, toType: .e164)
    print(formattedPhoneNumber) // "+15555555555"
} catch {
    print("유효하지 않은 전화번호입니다")
}

위의 예제에서는 phoneNumberKit.format() 메서드를 사용하여 전화번호를 E164 형식으로 포맷팅합니다. 필요한 포맷 유형에 따라 다른 toType 매개변수 값을 사용할 수 있습니다.

결론

PhoneNumberKit은 Swift에서 전화번호 유효성 검사와 포맷팅을 쉽게 처리할 수 있는 강력한 라이브러리입니다. 이 문서에서는 PhoneNumberKit을 사용하여 전화번호의 유효성을 검사하고 포맷팅하는 방법을 알아보았습니다. PhoneNumberKit을 사용하면 보다 간편하게 전화번호 관련 기능을 개발할 수 있으므로, 다양한 애플리케이션에서 활용해보시기 바랍니다.

참고 자료