Я работаю над ios app.I должен реализовать импорт контактов (идентификаторов почты) из контактов устройства и должен показать его во всплывающем окне при выполнении действия поиска. Как он может быть done..Please помочьКак импортировать почтовый идентификатор из контактов iOS
-2
A
ответ
1
Вы можете использовать CNContact для извлечения электронной почты address.Try этот код
//ios 9+
CNContactStore *store = [[CNContactStore alloc] init];
[store requestAccessForEntityType:CNEntityTypeContacts completionHandler:^(BOOL granted, NSError * _Nullable error) {
if (granted == YES) {
//keys with fetching properties
NSArray *keys = @[CNContactFamilyNameKey, CNContactGivenNameKey, CNContactPhoneNumbersKey, CNContactImageDataKey,CNContactEmailAddressesKey];
NSString *containerId = store.defaultContainerIdentifier;
NSPredicate *predicate = [CNContact predicateForContactsInContainerWithIdentifier:containerId];
NSError *error;
NSArray *cnContacts = [store unifiedContactsMatchingPredicate:predicate keysToFetch:keys error:&error];
if (error) {
NSLog(@"error fetching contacts %@", error);
} else {
for (CNContact *contact in cnContacts) {
// copy data to my custom Contacts class.
Contact *newContact = [[Contact alloc] init];
newContact.firstName = contact.givenName;
newContact.lastName = contact.familyName;
UIImage *image = [UIImage imageWithData:contact.imageData];
newContact.image = image;
for (CNLabeledValue *label in contact.phoneNumbers) {
NSString *phone = [label.value stringValue];
if ([phone length] > 0) {
[contact.phones addObject:phone];
}
}
}
}
}
}];
Использование AddressBook передать этот AddressBook
для поиска это демо-код
ABAddressBookRef addressBookRef = ABAddressBookCreateWithOptions(NULL, NULL);
_firstname = [[NSMutableArray alloc]init];
_email = [[NSMutableArray alloc]init];
_lastname = [[NSMutableArray alloc]init];
_number = [[NSMutableArray alloc]init];
_fullname = [[NSMutableArray alloc]init];
_arrContacts = [[NSMutableArray alloc]init];
_newnumber = [[NSMutableArray alloc]init];
tabledatafirst = [[NSMutableArray alloc]init];
tabledatasecond = [[NSMutableArray alloc]init];
if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusNotDetermined) {
ABAddressBookRequestAccessWithCompletion(addressBookRef, ^(bool granted, CFErrorRef error) {
ABAddressBookRef addressBook = ABAddressBookCreate();
});
}
else if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusAuthorized) {
NSMutableArray *abc = [[NSMutableArray alloc]init];
CFErrorRef *error = NULL;
ABAddressBookRef addressBook = ABAddressBookCreateWithOptions(NULL, error);
CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople(addressBook);
CFIndex numberOfPeople = ABAddressBookGetPersonCount(addressBook);
for(int i = 0; i < numberOfPeople; i++) {
ABRecordRef person = CFArrayGetValueAtIndex(allPeople, i);
NSString *firstName = (__bridge NSString *)(ABRecordCopyValue(person, kABPersonFirstNameProperty));
NSString *lastName = (__bridge NSString *)(ABRecordCopyValue(person, kABPersonLastNameProperty));
NSString *lastName = (__bridge NSString *)(ABRecordCopyValue(person, kABPersonEmailProperty));
NSString *email = (__bridge NSString *)(ABRecordCopyValue(person, kABPersonEmailProperty));
if (firstName != nil) {
[_firstname addObject:firstName];
}
else{
[_firstname addObject:@"Not Found"];
}
if (lastName != nil) {
[_lastname addObject:lastName];
}
else{
[_lastname addObject:@"Not Found"];
}
//store email in array
if (email !=nil) {
[_email addObject:email];
}
else{
[_email addObject:@"Not Found"];
}
//for search contacts use this
for (int i=0; i<_email.count; i++) {
if([[_email objectAtIndex:i]isEqualToString:_searchtextfield.text]){
NSLog(@"FIRST NAME %@",[_firstname objectAtIndex:i]);
_addbuttonoutlet.enabled = YES;
_firstnamelbl.text = [_firstname objectAtIndex:i];
_secondnamelbl.text = [_lastname objectAtIndex:i];
NSLog(@"LASTNAME %@",[_lastname objectAtIndex:i]);
NSLog(@"FOUND ONCE");
break;
}
else{
_firstnamelbl.text = @"Sorry Contact NOT found";
_secondnamelbl.text = @"";
_addbuttonoutlet.enabled = NO;
}
}
Смежные вопросы
- 1. J2ME: Как импортировать контакт из списка контактов?
- 2. Как получить идентификатор из API контактов Google?
- 3. Почтовый идентификатор по метаданным
- 4. как импортировать файл 'почтовый' на мой .py
- 5. ios Как получить адреса электронной почты из контактов, почты?
- 6. iOS - Twitter как выбор контактов
- 7. индекса, как IOS контактов приложение
- 8. Удаление группы контактов iOS
- 9. Общее количество контактов из адресной книги - iOS
- 10. Вставить идентификатор в таблицу контактов
- 11. Как импортировать данные из контактов gmail, используя javascript API контактов Google, в более подробном формате?
- 12. Как получить единственный идентификатор электронной почты из всех контактов?
- 13. ios - выполнить вызов из моих контактов
- 14. iOS 9 | Структура контактов
- 15. Импорт контактов gmail в приложение iOS
- 16. ios импорт контактов по дате изменения
- 17. Как вы извлекаете ТОЛЬКО свойство select из контактов iOS?
- 18. iOS, реализующий «контроллер контроля контактов»
- 19. Получить отдельный идентификатор электронной почты из списка контактов
- 20. Импорт списка контактов из twitter
- 21. Как создать расширение доли IOS для контактов
- 22. Как распаковать асинхронный почтовый файл в iOS?
- 23. iOS: Как получить почтовый индекс с метки
- 24. Как обрезать почтовый ящик в iOS
- 25. Как импортировать DDMathParser в проект iOS 8?
- 26. назначить почтовый идентификатор новому объекту wp.media
- 27. Как получить список обновленных контактов из ABAddressBookRegisterExternalChangeCallback?
- 28. Как получить фото профиля друзей из контактов gmail?
- 29. Функция CodeIgniter Email не принимает почтовый идентификатор
- 30. Продлить проверку на печенье, используя почтовый идентификатор
Что вы пробовали? Все, что было протестировано на платформе «Contacts.framework» (iOS 9) или AddressBook (iOS 8 и ранее) – Raptor
Ваш вопрос очень широк, сделать некоторые исследования, написать код самостоятельно. Если вы хотите нанять разработчика, это неправильное место. –
Вы пробовали Contacts.Framework. http://stackoverflow.com/questions/6865436/get-all-e-mail-addresses-from-contacts-ios. Это может помочь/ –