2012-02-13 6 views
5

Appleの内蔵Voicemailアプリでは、アドレス帳で認識されない電話番号を見つけると、おそらく電話番号に基づいて番号の下におおよその位置が表示されます。彼らはどうしたのですか?私は、市街地や地域名にマッピングされた、電話での市外局番と交換番号の大きなデータベースがあると思います。このマッピングが公開API経由でアプリにアクセスできるかどうかは誰にも分かりますか?iOS上の市外局番への市外局番

郵便番号を都市にマッピングするための定型コードがたくさんありますが、市外局番/交換と同じことはほとんどありません。何か案は?

+0

同様の質問は、この1の後に1日頼まれた:http://stackoverflow.com/questions/9284212/how-to -locate-any-mobile-number-using-iphone-application/18930785#18930785 – newenglander

答えて

1

特定の市外局番の都市名を示すウェブサイトが多数あります。 Verizon has onehttp://www.allareacodes.com/およびhttp://www.411.com/area_zip_codesなどの他のサイトはほぼ同じことを行います。あなたはおそらくあなたの地元の電話帳の前で同じ情報を見つけることができます。

可能なエリアコードが1000未満であるため、私はあなたのプログラムに含めることができるarea code listを探します。そうすれば、あなたのアプリケーションのこの側面は、ネットワーク接続が利用可能であるかどうかに関係なく機能します。

1

おそらくTelcordia(trainfo.com)などの企業から市販の製品を購入していたでしょう。私はGreatData.comのために働き、主要都市(レートセンター)の州、時間帯、運営会社などとともに市外局番と接頭辞(「NPA/NXX」とも呼ばれる)を維持していますが、緯度/経度を持つ。 (Telcordiaは)。

あなたが探しているデータが無料の製品で見つかるとは思いません。手動でデータを検証するために何時間も費やしました。

2

市外局番と場所を含むplistファイルを作成しました:areacodes.plist。あなただけのplistファイルを使用しない場合

:それは以下の手順を実行します。使用するには

1.プロジェクトにplistファイルを追加します。

2.ロードファイル:

NSBundle *bundle = [NSBundle mainBundle]; 
NSString *plistPath = [bundle pathForResource:@"areacodes" ofType:@"plist"]; 
NSDictionary *areaCodeDict = [[NSDictionary alloc] initWithContentsOfFile:plistPath]; 

3.はあなたがロードした辞書を使用してください。キーは市外局番あり、値が場所は次のとおりです。

NSString *areaCode = @"801"; 
NSString *location = [self.areaCodeConversion objectForKey:areaCode]; 
NSLog(@"%@",location); // prints utah 

が含まクラスを使用するには:

1.プロジェクトにダウンロードしたフォルダを追加します。

2. plistの情報にアクセスするために含まクラスを使用します。

#import "AreaCodes.h" 
... 
AreaCodes *areaCodes = [[AreaCodes alloc] init]; 
NSString *location = [areaCodes getLocationForCode:@"801"]; 
NSLog(@"%@",location); 
// prints "Utah" 
+0

これは素晴らしいですが、ファイルが存在しないことを除けば..私はupvote助けてファイルを助ける! –

+0

@alexgrayそれを指摘してくれてありがとう。私はリンクを修正し、いくつかのソースファイルを追加しました。 – Jbryson

関連する問題