次のコードを使用して、アドレス帳から電話番号を取得しています。
ABAddressBook mybook = new ABAddressBook();
ABPerson[] allPeople = mybook.GetPeople();
foreach(ABPerson thisPerson in allPeople){
if(thisPerson.GetPhones() != null)
ABMultiValue<string> myMultiPhone = thisPerson.GetPhones();
}
}
コードを try catch でラップすると、一部の時間は機能しますが、常に機能するとは限りません。すべての電話番号を問題なく取得できる場合もあれば、電話番号のランダムな取得が停止し、try catch で「電話番号の取得中にエラーが発生しました。ハンドルを null にすることはできません。パラメータ名: ハンドル」というエラーが表示される場合もあります。