どうやらアプリ内で、アドレス帳を開くことができるようだ。
その方法を書きたいと思います。
まずは、下の二つのライブラリーが必要です。
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 コメント:
コメントを投稿