"Appleseed" - поисковый запрос, используемый в примере. Похоже, ваше несоответствие связано с тем, что ни один из контактов не соответствует предикату.
В любом случае, во время моей собственной реализации я столкнулся со многими проблемами. Ниже приведено полное решение для получения всех контактов в iOS Xamarin.
Первое: Добавить разрешение в info.plist
<key>NSContactsUsageDescription</key>
<string>This app requires contacts access to function properly.</string>
Второе: Создание модели для контактов Информация
В приведенном ниже примере я только добавить 3 поля
using System.Collections;
/// <summary>
///
/// </summary>
namespace YourNameSpace
{
/// <summary>
///
/// </summary>
public class UserContact
{
public UserContact()
{
}
/// <summary>
///
/// </summary>
/// <param name="givenName"></param>
/// <param name="familyName"></param>
/// <param name="emailId"></param>
public UserContact(string givenName, string familyName, IList emailId)
{
GivenName = givenName;
FamilyName = familyName;
EmailId = emailId;
}
public bool IsSelected { get; set; }
public string GivenName { get; set; }
public string FamilyName { get; set; }
public IList EmailId { get; set; }
}
}
Третий: ознакомьтесь с контактными данными
public IEnumerable<UserContact> GetAllContactsAndEmails()
{
var keysTOFetch = new[] { CNContactKey.GivenName, CNContactKey.FamilyName, CNContactKey.EmailAddresses };
NSError error;
CNContact[] contactList;
var ContainerId = new CNContactStore().DefaultContainerIdentifier;
using (var predicate = CNContact.GetPredicateForContactsInContainer(ContainerId))
using (var store = new CNContactStore())
{
contactList = store.GetUnifiedContacts(predicate, keysTOFetch, out error);
}
var contacts = new List<UserContact>();
foreach (var item in contactList)
{
if (null != item && null != item.EmailAddresses)
{
contacts.Add(new UserContact
{
GivenName = item.GivenName,
FamilyName = item.FamilyName,
EmailId = item.EmailAddresses.Select(m => m.Value.ToString()).ToList()
});
}
}
return contacts;
}
Убедитесь, что вы включили контакт атрибуты вам нужно в KeysToFetch массиве
не может воспроизвести. –