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
- 2009年02月26日
- iPhone