1

私は iPhone 用の「Viber」のようなアプリケーションに取り組んでいます ( http://www.viber.com/ )。

データベースでユーザーの電話番号を ID として使用する必要があります。

ユーザーがアプリケーションを起動したら、同じアプリケーションを使用している連絡先を特定する必要があります。iOS APIで連絡先の電話番号を取得できます。

しかし、このシナリオは、国の通話コード ( http://en.wikipedia.org/wiki/List_of_country_calling_codes )を考慮すると問題があります。

「登録」するとき、ユーザー A は国番号なしで自分の電話番号を入力します。ユーザー A はユーザー B の連絡先リストに含まれていますが、国番号はありません。

たとえば、フランスでは : +33 x xx xx xx xx は、0x xx xx xx xx と同じ電話を指しています。

この問題を解決する簡単な方法はありますか?

4

1 に答える 1

2

ローカル形式から E.164 形式に変換する簡単な方法はありません。問題は、国ごとにローカルのモバイル フォーマットが異なるため、すべての国に 1 つのルール セットを適用できないことです。各国の携帯電話会社がサポートしている形式を確認する必要があります。

複数の国をサポートする必要がある場合は、iPhone から返されたMCC / MNCに基づいている可能性があります。どの国でどのローカル形式がサポートされているかのリストをまだ見つけていません。また、番号がローカル形式であるローミング電話の問題も回避できません。

複数の国に対処する必要がある場合、オーストラリアのような国では問題が発生します。これらの国では、ローカル番号形式をサポートしているため、詳細情報がないと E.164 形式に変換することはほとんど不可能です....

基本的に同じ質問であるこの質問を参照してください。

すべてのユーザーが E.164 形式を使用してすべての電話番号を保存することをお勧めします。変換をサポートする必要がある場合は、対応しなければならない国の形式のみをサポートしてください。国がサポートするすべての形式を調査してください。

上記の質問のような一般的なものを使用しようとすることはできますが、すべての数値形式で機能するとは限りません。

私が取り組んでいる PBX ソフトウェアでは、顧客がその環境に合わせて構成できるルール ベースのエンジンを使用し、販売先の国に合わせて事前入力しようとしています。

于 2011-06-22T20:58:43.210 に答える