私は大きな問題です...私はユーザーのアドレス帳とそのアドレスを扱うアプリケーションを書くつもりです。すべてがうまくいきます - 私は、タイプのタイプが "仕事"、 "家"か "その他"かどうかを判断することができないという事実を除いてすべてです。AddressBook FrameWork(iOS 4.2)で住所の種類を調べる方法
家庭、仕事などのラベルを取得する方法を知っている人はいますか?事前に
おかげ
ボリス
これは、現時点で使用した機能 - 私:
+ (void)testing {
//Get the addressbook
ABAddressBookRef _addressBookRef = ABAddressBookCreate();
//Fetch all contacts
NSArray* allPeople = (NSArray *)ABAddressBookCopyArrayOfAllPeople(_addressBookRef);
//Walk the contacts
for (id record in allPeople) {
//Get the contact´s id
NSInteger recordId = ABRecordGetRecordID((ABRecordRef)record);
//Get the contact´s name and company
NSString* recordName = (NSString *)ABRecordCopyCompositeName((ABRecordRef)record);
NSString* recordCompany = (NSString *)ABRecordCopyValue((ABRecordRef)record, kABPersonOrganizationProperty);
//Get the contact´s addresses
CFTypeRef adressesReference = ABRecordCopyValue((ABRecordRef)record, kABPersonAddressProperty);
NSArray *adressesArray = (NSArray *)ABMultiValueCopyArrayOfAllValues(adressesReference);
CFRelease(adressesReference);
NSLog(@"ID: %d", recordId);
NSLog(@"Name: %@", recordName);
NSLog(@"Firma: %@", recordCompany);
for (NSString *adress in adressesArray) {
NSLog(@"Adresse: %@", adress);
}
[adressesArray release];
}
CFRelease(_addressBookRef);
[allPeople release];
NSLog(@"\n");
}
、ログ出力here's:
ID:1 名前:最初のユーザー ファーム:(null) アドレス:{ 市=ロイターリンゲン; 国=ドイツ; CountryCode = de; Street = "some street"; ZIP = 23456; }
住所:{ City = Reutlingen; 国=ドイツ; CountryCode = de; 状態= BW; Street = "Street number 2"; ZIP = 98765; }
ID:2 名:第二接触 ファーマ:ファーマ アドレス:{ 国= "アメリカ"; CountryCode = us; Street = Test;ここ }
こんにちは、それは迅速なバージョンに変換することは可能でしょうか? – user998405
私はこれをすぐにやろうとします。ありがとう – shannoga