2016-01-02 2 views
-1

Я хочу открыть встроенную контактную книгу Apple при нажатии кнопки. Я пробовал другие коды, но это не сработало. Я добавил 4 библиотеки в свой проект.открыть все контакты при нажатии кнопки в ios xcode

+0

Проверить это http://www.appcoda.com/ios-programming-import-contact-address-book/ – kb920

ответ

1

Пожалуйста, попробуйте этот код, чтобы открыть список контактов по умолчанию и управлять этим списком по его делегат методы:

ABPeoplePickerNavigationController *picker = 
    [[ABPeoplePickerNavigationController alloc] init]; 
    picker.peoplePickerDelegate = self; 
    picker.predicateForEnablingPerson = [NSPredicate predicateWithFormat:@"%[email protected] > 0", ABPersonPhoneNumbersProperty]; 

    [self.navigationController presentViewController:picker animated:YES completion:nil]; 

И не забудьте им интерфейсы адресной книги порта и его делегаты в вашем представлении контроллера.

#import <AddressBookUI/AddressBookUI.h> 
#import <AddressBook/AddressBook.h> 

Делегат:

ABPeoplePickerNavigationControllerDelegate 
0

, если вы работаете в ios9, его легко. вы можете,

import Contacts 

, добавляя Contact Framework. Например, вы можете использовать see this link.

+0

В приведенной выше ссылке Кодекса, кажется, что некоторые Mixup. .. бы Вы мне сказать, что Я есть код в TouchUpInside Метод моего Баттона .. Я добавил 4 Библиотеки ContactsUI.framework Contacts.framework AddressBookUI.framework AddressBook.framework – hiren245

1

Вы можете получить доступ к адресной книге с помощью:

первого импорта #import <AddressBookUI/AddressBookUI.h>

ABPeoplePickerNavigationController *picker = 
[[ABPeoplePickerNavigationController alloc] init]; 
picker.peoplePickerDelegate = self; 

[self presentViewController:picker animated:YES completion:nil]; 

# pragma mark - peoplePickerDelegate methods 
- (void)peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker 
{ 
[self dismissViewControllerAnimated:YES completion:nil]; 
} 
    - (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person{ 
[self displayPerson:person]; 
[self dismissViewControllerAnimated:YES completion:nil]; 
return NO; 
} 
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker 
    shouldContinueAfterSelectingPerson:(ABRecordRef)person 
          property:(ABPropertyID)property 
          identifier:(ABMultiValueIdentifier)identifier 
{ 
return NO; 
} 
- (void)displayPerson:(ABRecordRef)person 
{ 

NSString* name = (__bridge_transfer NSString*)ABRecordCopyValue(person,                kABPersonFirstNameProperty); 
NSString* phone = nil; 
ABMultiValueRef phoneNumbers = ABRecordCopyValue(person, 
               kABPersonPhoneProperty); 
if (ABMultiValueGetCount(phoneNumbers) > 0) { 
    phone = (__bridge_transfer NSString*) 
    ABMultiValueCopyValueAtIndex(phoneNumbers, 0); 
} else { 
    phone = @"[None]"; 
} 
CFRelease(phoneNumbers); 
} 

Это может помочь вам ...

Смежные вопросы