どうやらアプリ内で、アドレス帳を開くことができるようだ。
その方法を書きたいと思います。
まずは、下の二つのライブラリーが必要です。
AddressBook.framework AddressBookUI.framework表示したいViewController.hに下のコードを記述。
#import <AddressBookUI/AddressBookUI.h>表示したいViewController.mに下のコードを記述。
ABPeoplePickerNavigationController *aBPeoplepicker; aBPeoplepicker = [[ABPeoplePickerNavigationController alloc] init]; aBPeoplepicker.peoplePickerDelegate = self; [self presentModalViewController:aBPeoplepicker animated:YES];ただし、これだけだとクラッシュしてしまう、理由は、delegateを設定していないから。
というわけで、ABPeoplePickerNavigationControllerDelegateを設定して、以下のメソッドを追記する。
//ABPeoplePickerNavigationControllerDelegate - (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person{ return YES; } - (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier{ return NO; } - (void)peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker{ [self dismissModalViewControllerAnimated:YES]; }こうすればクラッシュすることなく、下のようにアドレス帳にアクセスしてもいいかどうか問うアラートが表示されます。
友達招待機能とか実装したい場合に、便利かなと。
0 コメント:
コメントを投稿