0

iOS 用のアドレス帳プログラミング ガイドでは、ABPeoplePickerNavigationController クラスを使用して、ユーザーが連絡先のリストを参照し、人を選択できるようにする方法を明確に説明しています。代わりに「グループ」を選択するにはどうすればよいのだろうと思っていました。

4

1 に答える 1

0

あなたの問題が今までに解決されたかどうかはわかりません。私はちょうど同じ問題に遭遇します。私が見る限り、iOS はアドレス帳のグループにアクセスするための「既成の」方法を提供していません。 /Chapters/UI_Controllers.html .
ただし、次のコード例のようにすべてのグループ情報にアクセスできますが (エラー処理を追加する必要がありました)、ユーザー インターフェイスを自分でプログラムする必要がありました。

CFErrorRef error;
ABAddressBookRef addressBook = ABAddressBookCreateWithOptions (NULL, &error);
CFArrayRef groups = ABAddressBookCopyArrayOfAllGroups (addressBook);
ABRecordRef firstGroup = CFArrayGetValueAtIndex (groups,0);
CFStringRef nameOfFirstGroup = ABRecordCopyCompositeName (firstGroup);
CFRelease(nameOfFirstGroup);
CFArrayRef members = ABGroupCopyArrayOfAllMembers (firstGroup);
ABRecordRef firstMember = CFArrayGetValueAtIndex (members,0);
CFStringRef nameOfFirstMember = ABRecordCopyCompositeName (firstMember);
CFRelease(nameOfFirstMember);
CFRelease(members);
CFRelease(groups);
CFRelease(addressBook);

編集:
申し訳ありませんが、上記のコードでは、さまざまなオブジェクトのリリースが早すぎます。CFReleaseコードの最後にステートメントを入れてください。

于 2013-02-27T10:46:28.330 に答える