[swift] PhoneNumberKit을 사용하여 전화번호 일괄 변경하기

iOS 앱을 개발하다보면 전화번호를 일괄적으로 변경해야 할 때가 있습니다. 사용자들의 입력에 따라 전화번호 형식이 다를 수 있기 때문에, 이를 일괄적으로 수정해주는 기능이 필요합니다. Swift에서는 PhoneNumberKit이라는 라이브러리를 사용하여 전화번호를 쉽게 처리할 수 있습니다. 이번 블로그 포스트에서는 PhoneNumberKit을 사용하여 전화번호를 일괄 변경하는 방법을 알아보겠습니다.

PhoneNumberKit이란?

PhoneNumberKit은 Swift에서 전화번호를 처리하는 라이브러리입니다. 입력된 전화번호 문자열을 파싱하여 유효한 전화번호인지 확인하고, 일정한 형식에 맞게 포맷을 수정하는 등의 기능을 제공합니다. PhoneNumberKit은 CocoaPods를 통해 설치할 수 있습니다.

PhoneNumberKit 설치하기

PhoneNumberKit을 사용하기 위해서는 먼저 CocoaPods를 설치해야 합니다. Terminal을 열고 프로젝트 디렉토리로 이동한 뒤, 다음 명령어를 실행합니다.

$ pod init

이후 생성된 Podfile에서 PhoneNumberKit을 추가합니다.

platform :ios, '11.0'

target 'YourApp' do
  use_frameworks!

  pod 'PhoneNumberKit'
end

설정이 완료되면 다음 명령어를 실행하여 PhoneNumberKit을 프로젝트에 설치합니다.

$ pod install

사용 예시

PhoneNumberKit을 설치하고 나면, 이제 코드에서 전화번호를 일괄 변경할 수 있습니다.

import PhoneNumberKit

func updatePhoneNumbers(phoneNumbers: [String]) -> [String] {
    let phoneNumberKit = PhoneNumberKit()
    var formattedPhoneNumbers = [String]()
    
    for phoneNumber in phoneNumbers {
        do {
            let parsedPhoneNumber = try phoneNumberKit.parse(phoneNumber)
            let formattedPhoneNumber = phoneNumberKit.format(parsedPhoneNumber, toType: .international)
            formattedPhoneNumbers.append(formattedPhoneNumber)
        } catch {
            // 전화번호 파싱 또는 포멧 변경 실패
            formattedPhoneNumbers.append(phoneNumber)
        }
    }
    
    return formattedPhoneNumbers
}

// 사용 예시
let phoneNumbers = ["01012345678", "010-9876-5432", "+821012345678"]
let formattedPhoneNumbers = updatePhoneNumbers(phoneNumbers: phoneNumbers)
print(formattedPhoneNumbers)

위의 코드는 updatePhoneNumbers 함수를 통해 전화번호들을 일괄 변경하고, 변경된 전화번호들을 반환합니다. PhoneNumberKit의 parse 메소드를 사용하여 전화번호를 파싱한 뒤, format 메소드를 통해 원하는 형식으로 포멧을 변경해 줄 수 있습니다.

결과적으로 위의 코드를 실행하면 다음과 같은 출력을 볼 수 있습니다.

["+82 10 1234 5678", "+82 10 9876 5432", "+82 10 1234 5678"]

마무리

PhoneNumberKit을 사용하여 전화번호를 일괄 변경하는 방법에 대해 알아보았습니다. PhoneNumberKit은 다양한 전화번호 형식을 지원하며, 쉽게 사용할 수 있는 API를 제공합니다. 전화번호 처리와 관련된 작업이 필요한 경우 PhoneNumberKit을 활용하여 효율적으로 개발할 수 있습니다.

더 자세한 정보와 사용 예시는 PhoneNumberKit 공식 GitHub 저장소를 참고하시기 바랍니다. ```

참고 자료