Я новый быстрый разработчик. Я использую Swift 4.2 и Xcode 10.1.
Я анализирую номера, используя PhoneNumberKit Мамелроя, чтобы вернуть код страны. Разбор работает довольно хорошо (хотя сначала немного медленно). Однако при получении номера (888) или (866) бесплатных номеров в США PhoneNumberKit возвращает AG, представляющее собой двузначный код страны для Антигуа и Барбуды. Префикс NPA для AG - 268, что даже не близко к 888 или 866.
Я готов обработать результат AG и проверить, действительно ли это номер Антигуа или Барбуды, но я хотел бы подтвердить, что это проблема PhoneNumberKit, а не то, что я делаю неправильно. Мой код ниже.
class ContactService {
static let phoneNumberKit = PhoneNumberKit()
static func getFlag(number:String) -> String {
// Strip out all characters but +
let basicNumber = number.filter("01234567890+".contains)
// Get the country code and return it
do {
let phoneNumber = try phoneNumberKit.parse(basicNumber)
let regionCode = phoneNumberKit.getRegionCode(of: phoneNumber)
return regionCode!
}
catch {
return "PhoneNumberKit was unable to get the region code."
}
}
}
Три цифры, которые возвращают AG в моих контактах, следующие:
1 (866) 814-9582,
(866) 255-9679 и
(888) 888-7020
Пожалуйста, дайте мне знать, если это известная проблема или есть другое исправление.