Получить код страны с номера телефона - Цель C - PullRequest
2 голосов
/ 13 марта 2012

У меня проблема при попытке получить код страны из номера телефона, записанного в личной адресной книге. Мое намерение, например, в следующих вариантах:

00 34 633 445 433

+ 34 633 445 433

Получите 34 международных кода в одной переменной и номер телефона без международного кода в другой. Я исследовал возможные вспомогательные библиотеки или NSString apis, но не нашел решения.

Спасибо

1 Ответ

4 голосов
/ 13 марта 2012

Это нетривиально (или, по крайней мере, довольно утомительно). Коды стран могут иметь различную длину (1-3 цифры), поэтому для их решения в вашем коде должен быть полный список. Эти значения иногда меняются, что может потребовать изменений в вашем коде. В большинстве случаев, однако, сами юридические коды стран не меняются; просто к какой стране они относятся.

Нужная вам таблица: ITU-T E.164 . Страница Wikipedia также может быть полезна.

Если вы хотите обрабатывать «00» так, как если бы это было «+», то вам также нужно кодировать это самостоятельно.

На случай, если вы пойдете в другом направлении (превращение кода страны в страну), имейте в виду, что в настоящее время есть несколько неоднозначных случаев. Наиболее часто влияющим является +1, который является всем NANP. Это США, Канада и большая часть (но не все) стран Карибского бассейна. Иногда люди думают, что это означает «США». Другая большая двусмысленность - это Россия и Казахстан, которые оба +7. Там есть и другие мелкие недоразумения, в основном из-за территориальных споров, но это две большие неясности на высшем уровне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...