[swift] PhoneNumberKit을 사용하여 전화번호 유효성 검사 및 교정시 사용자 알림 제공하기

전화번호 입력을 받는 앱을 개발하고 있다면, 사용자가 올바른 전화번호를 입력했는지 확인하고 교정하는 것이 중요합니다. 이를 위해 PhoneNumberKit이라는 라이브러리를 사용할 수 있습니다.

PhoneNumberKit이란?

PhoneNumberKit은 Swift로 작성된 오픈 소스 라이브러리로, 전화번호를 표준 형식으로 변환하고 유효성을 검사해주는 기능을 제공합니다.

PhoneNumberKit 설치

PhoneNumberKit은 Swift Package Manager를 통해 쉽게 설치할 수 있습니다. 프로젝트의 Package.swift 파일에 다음과 같이 추가하세요:

dependencies: [
    .package(url: "https://github.com/marmelroy/PhoneNumberKit.git", from: "3.0.0")
]

설치 후에는 import PhoneNumberKit 문을 통해 라이브러리를 가져올 수 있습니다.

전화번호 유효성 검사

PhoneNumberKit을 사용하여 전화번호의 유효성을 검사하는 방법은 간단합니다. 다음과 같은 코드를 사용하면 됩니다:

let phoneNumberKit = PhoneNumberKit()

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

parse() 메서드는 입력된 전화번호를 파싱하고, 유효한 경우 PhoneNumber 객체를 반환합니다. 유효하지 않은 경우 에러를 던집니다. 따라서, catch 블록에서 에러 처리를 할 수 있습니다.

전화번호 교정

PhoneNumberKit을 사용하면, 올바른 전화번호 형식으로 교정하는 것도 가능합니다. 다음과 같이 사용할 수 있습니다:

let phoneNumberKit = PhoneNumberKit()

do {
    let phoneNumber = try phoneNumberKit.parse("+14155552671")
    let formattedString = phoneNumberKit.format(phoneNumber, toType: .e164)
    print("교정된 전화번호: \(formattedString)")
} catch {
    print("전화번호 교정 실패")
}

위의 코드에서는 format() 메서드를 사용하여 교정된 전화번호를 얻습니다. .e164를 전달하여 표준 E.164 형식으로 변환할 수 있습니다.

사용자 알림 제공

유효성 검사나 교정 과정에서 사용자에게 알림을 제공하는 것은 중요합니다. 사용자가 실수로 잘못된 전화번호를 입력한 경우, 앱이 해당 사실을 알리고 사용자에게 올바른 형식으로 교정할 수 있도록 안내해야 합니다.

이를 위해 AlertController를 사용할 수 있습니다. 아래의 예제 코드를 참고하세요:

let alertController = UIAlertController(title: "알림", message: "올바르지 않은 전화번호 형식입니다. 다시 입력해주세요.", preferredStyle: .alert)
let okAction = UIAlertAction(title: "확인", style: .default, handler: nil)
alertController.addAction(okAction)
self.present(alertController, animated: true, completion: nil)

위의 코드에서는 UIAlertController를 생성하고, 알림 메시지를 설정한 후 사용자가 확인 버튼을 누르면 닫히도록 합니다.

참고 자료