2015-10-16 1 views
-2

Я пытаюсь открыть адресную книгу, используя новую программу Contacts.framework. Эта структура внедрена в iOS 9.0, я попытался несколько способов открыть контроллер представления, но в итоге сбой. Кто-нибудь сталкивался с подобной проблемой?Как открыть адресную книгу iPhone, используя Contacts.framework

NSError *error; 

CNContactStore *store = [[CNContactStore alloc] init]; 
NSArray *cArray = [store unifiedContactsMatchingPredicate:[CNContact predicateForContactsMatchingName:@"Kate"] keysToFetch:@[CNContactEmailAddressesKey,CNContactPhoneNumbersKey] error:&error]; 

CNContactViewController *cVC = [CNContactViewController viewControllerForContact:[cArray objectAtIndex:0]]; 
[self presentViewController:cVC animated:YES completion:^{ 

}]; 
+0

No. Контакты рамки легко и прекрасно работает. – matt

+0

Да, но я попал в катастрофу, запустив адресную книгу, используя contacts.framework –

+3

Но вы не показываете никакого кода или даже не говорите, что значит, так кто знает, что вы делаете неправильно? – matt

ответ

2

Поскольку Contacts.framework доступен только в iOS 9.0 и далее. Вот код, который проверяет наличие и потому, что запускает диспетчер просмотра контактов.

код для вызова контакта Picker-контроллер

if ([CNContactPickerViewController class]) { 
    CNContactPickerViewController *cVC = [[CNContactPickerViewController alloc] init]; 
    [self.view.window.rootViewController presentViewController:cVC animated:YES completion:nil]; 
} 
+1

Работает как очарование. спасибо за решение. –