PhoneNumberKit 返回免费电话号码的 AG
PhoneNumberKit returning AG for toll free numbers
我是一名新 swift 开发人员。我正在使用 Swift 4.2 和 Xcode 10.1.
我正在使用 Mamelroy 的 PhoneNumberKit 将号码解析为 return 国家代码。解析工作得很好(虽然一开始有点慢)。但是,当给定号码 (888) 或 (866) 时,美国的免费电话号码 PhoneNumberKit returns AG 是安提瓜和巴布达的两位数国家代码。 AG 的 NPA 前缀是 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."
}
}
}
我的联系人中 returning AG 的三个号码如下:
1 (866) 814-9582,
(866) 255-9679 和
(888) 888-7020
如果这是一个已知问题或者是否有其他修复方法,请告诉我。
我在这里找到了答案(虽然我之前搜索过 GitHub):https://github.com/marmelroy/PhoneNumberKit/issues/135。它说AG(美国保护国)是第一个匹配免费电话号码的国家,所以PhoneNumberKit returns AG。它建议改为返回用户的语言环境。
我建议返回美国。
我在这里留下这个问题和答案是为了帮助其他人搜索 SO 并得到这个意想不到的结果。
我是一名新 swift 开发人员。我正在使用 Swift 4.2 和 Xcode 10.1.
我正在使用 Mamelroy 的 PhoneNumberKit 将号码解析为 return 国家代码。解析工作得很好(虽然一开始有点慢)。但是,当给定号码 (888) 或 (866) 时,美国的免费电话号码 PhoneNumberKit returns AG 是安提瓜和巴布达的两位数国家代码。 AG 的 NPA 前缀是 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."
}
}
}
我的联系人中 returning AG 的三个号码如下:
1 (866) 814-9582, (866) 255-9679 和 (888) 888-7020
如果这是一个已知问题或者是否有其他修复方法,请告诉我。
我在这里找到了答案(虽然我之前搜索过 GitHub):https://github.com/marmelroy/PhoneNumberKit/issues/135。它说AG(美国保护国)是第一个匹配免费电话号码的国家,所以PhoneNumberKit returns AG。它建议改为返回用户的语言环境。
我建议返回美国。
我在这里留下这个问题和答案是为了帮助其他人搜索 SO 并得到这个意想不到的结果。