[swift] PhoneNumberKit을 사용하여 전화번호 유형에 따라 아이콘 표시하기

전화번호 유형에 따라 다른 아이콘을 표시해야 하는 경우, PhoneNumberKit 라이브러리를 사용하여 전화번호가 어떤 유형인지 간편하게 확인할 수 있습니다.

PhoneNumberKit이란?

PhoneNumberKit은 Swift를 위한 강력하고 유연한 전화번호 처리 라이브러리입니다. 이 라이브러리를 사용하면 전화번호를 파싱하고 유효성을 검사할 수 있으며, 국제 전화번호 형식에 맞게 서식을 지정할 수도 있습니다.

PhoneNumberKit 설치하기

PhoneNumberKit은 CocoaPods을 통해 설치할 수 있습니다. Podfile에 다음과 같이 라이브러리를 추가해주세요.

pod 'PhoneNumberKit'

그리고 터미널에서 다음 명령어를 실행하여 라이브러리를 설치합니다.

$ pod install

전화번호 유형에 따라 아이콘 표시하기

PhoneNumberKit을 사용하여 전화번호 유형을 확인하고 아이콘을 표시하는 방법은 다음과 같습니다.

import PhoneNumberKit

func displayIconForPhoneNumber(phoneNumber: String) -> String {
    let phoneNumberKit = PhoneNumberKit()
    
    do {
        // 전화번호 파싱
        let number = try phoneNumberKit.parse(phoneNumber)
        
        // 유형에 따라 아이콘 반환
        switch number.type {
        case .fixedLine:
            return "🏢"
        case .mobile:
            return "📱"
        case .fixedOrMobile:
            return "☎️"
        case .pager:
            return "📟"
        case .personalNumber:
            return "📞"
        case .voicemail:
            return "📼"
        case .unknown:
            return "❓"
        }
    } catch {
        // 유효하지 않은 전화번호인 경우
        return "❌"
    }
}

위의 코드에서는 displayIconForPhoneNumber 함수를 정의합니다. 이 함수는 전화번호를 파싱하고, 해당 전화번호의 유형에 따라 다른 아이콘을 반환합니다.

PhoneNumberKit의 parse 메서드를 사용하여 전화번호를 파싱하고, type 속성을 통해 전화번호 유형을 확인합니다. 유형에 따라 적절한 아이콘을 반환하며, 유효하지 않은 전화번호인 경우 “❌” 아이콘을 반환합니다.

예제

let phoneNumber1 = "+82 10 1234 5678"
let phoneNumber2 = "+1 555-555-5555"
let phoneNumber3 = "02-123-4567"

let icon1 = displayIconForPhoneNumber(phoneNumber: phoneNumber1)
let icon2 = displayIconForPhoneNumber(phoneNumber: phoneNumber2)
let icon3 = displayIconForPhoneNumber(phoneNumber: phoneNumber3)

print(icon1) // 📱
print(icon2) // 📞
print(icon3) // 🏢

위의 예제에서는 전화번호 유형에 따라 다른 아이콘이 출력됩니다.

PhoneNumberKit을 사용하여 전화번호 유형에 따라 아이콘을 표시하는 방법을 알아보았습니다. 이를 통해 전화번호 유형을 보다 직관적으로 확인할 수 있습니다. PhoneNumberKit을 사용하면 전화번호를 다루는 데 있어 편리한 기능을 제공하므로, 프로젝트에서 전화번호 처리가 필요한 경우에 유용하게 사용할 수 있습니다.

참고 자료