[swift] PhoneNumberKit을 사용하여 전화번호의 국가별 플래그 표시하기

전화번호 형식을 처리하고 국가별 플래그를 표시하는 작업은 많은 앱에서 필요한 기능입니다. Swift에서는 PhoneNumberKit 라이브러리를 사용하여 이 작업을 쉽게 수행할 수 있습니다. 이 라이브러리는 Swift로 작성된 유명한 PhoneNumberUtil 라이브러리의 간단한 Swift 포팅입니다.

PhoneNumberKit 설치

먼저 PhoneNumberKit을 설치해야 합니다. Cocoapods를 사용하는 경우 Podfile에 다음과 같이 추가합니다:

pod 'PhoneNumberKit', '~> 3.0'

그리고 터미널에서 pod install을 실행하여 라이브러리를 설치합니다.

사용하기

PhoneNumberKit을 사용하여 전화번호 형식을 처리하고 국가별 플래그를 표시하려면 다음 단계를 따릅니다:

  1. PhoneNumberKit을 import 합니다:
import PhoneNumberKit
  1. PhoneNumberKit 인스턴스를 생성합니다:
let phoneNumberKit = PhoneNumberKit()
  1. 전화번호를 문자열로 입력받고, PhoneNumber 인스턴스를 생성합니다:
let phoneNumberString = "+821012345678"
let phoneNumber = try? phoneNumberKit.parse(phoneNumberString)
  1. 국가의 ISO 코드를 확인합니다:
let countryCode = phoneNumber?.isoCountryCode
  1. ISO 코드를 사용하여 해당 국가의 플래그 이미지를 가져옵니다. 이를 위해 이미지를 포함하는 Assets 카탈로그를 생성하고, 각 국가의 플래그 이미지를 추가합니다.

  2. 플래그 이미지를 표시합니다:

let flagImage = UIImage(named: countryCode ?? "")
flagImageView.image = flagImage

예외 처리

전화번호 형식이 잘못된 경우나 국가 코드를 찾을 수 없는 경우를 처리해야 합니다. PhoneNumberKit을 사용하면 예외 처리를 쉽게 할 수 있습니다. 위의 코드에서 try? 키워드를 사용했으므로 phoneNumber 변수는 옵셔널 값이 됩니다. 이를 이용하여 오류 처리를 할 수 있습니다.

if let phoneNumber = try? phoneNumberKit.parse(phoneNumberString) {
    let countryCode = phoneNumber.isoCountryCode
    let flagImage = UIImage(named: countryCode ?? "")
    flagImageView.image = flagImage
} else {
    // 전화번호 형식이 잘못된 경우 처리
}

결론

PhoneNumberKit을 사용하면 Swift에서 전화번호를 처리하고 국가별 플래그를 표시하는 작업을 쉽게 수행할 수 있습니다. 이 간단한 예제를 통해 PhoneNumberKit의 사용법을 확인하고, 자신의 앱에 유용하게 활용해보세요.

참고 자료