HOME > CONIT Labs.

CONIT Labs.

iPhone Addressbook api


こんにちは、開発TEAM佐々木です。
今日は、なかなかネットにも落ちていないアドレスブックAPIの紹介です。
アドレスブックAPIはC言語のAPIですので、多少面倒くさいですね。
アドレスブックAPIを使うと、全件取得や、名前で検索、新規追加、編集などができるそうですが
今回はeMailの全件取得をしてみたいと思います。
ただし、eMailといってもアドレスブックアプリ的にeMail欄がValidかどうかは
判定していないようで、適当な文字列を設定することができますから
実際に使う際は、eMailのフォーマットをチェックすることをおすすめします。
ソースコード

//ref of Addressbook
ABAddressBookRef book = ABAddressBookCreate();
//Count of Addressbook
CFIndex cnt = ABAddressBookGetPersonCount(book);
NSLog(@”addressbook count is %d “,cnt);
//AllRecords of Addressbook
CFArrayRef records = ABAddressBookCopyArrayOfAllPeople(book);
for(int i=0;i< CFArrayGetCount(records) ;i++){
//record at index=i
ABRecordRef person = CFArrayGetValueAtIndex(records,i);
//eMail info
ABMultiValueRef emails = ABRecordCopyValue(person,kABPersonEmailProperty);
//how many email
CFIndex emlCount = ABMultiValueGetCount(emails);
for(int e=0;e //print email address
NSLog(@"addressbook %d email: %@",i,ABMultiValueCopyValueAtIndex(emails,e));
}
}

シミュレーター内のアドレスブックデータ


実行結果
2009-02-27 11:51:41.800 addressbook[4123:20b] addressbook count is 1
2009-02-27 11:51:41.803 addressbook[4123:20b] addressbook 0 email: iPhone@Apple

コメントを残す

コニット開発室

CONIT Official Tweet

CONIT Facebook FanPage

CONIT BLOG

株式会社コニット

SamuraiSmartphoneServices

Buy and take only medicines from online pharmacy ,]}$ drugs online has affordable prices. Brand name drugs Canadian pharmacy [*}: compare drug prices Canada delivering medicines at your door. Free online consultation at https://canada-pharmacy-store.com <;) order cialis highest value and quality. Is it legal to mail prescription drugs? Yes, Canadian drugs [.($ order viagra . After ordering you will be contacted by our managers and agree on the delivery details.