2016-04-16 8 views
0

Der Versuch, ein NSData-Objekt mit der vCard-Darstellung des Kontakts zu erhalten, indem die folgende Schnittstelle verwendet wird.Die vCard-Darstellung der angegebenen CNContacts kann nicht zurückgegeben werden

Ich habe ein NSData-Objekt erhalten, wenn ein CNContact an die obige Schnittstelle übergeben wurde. Hier ist der Arbeitscode

CNMutableContact * contact = [CNMutableContact new]; 
contact.middleName = @"Stalin"; 
contact.contactType = CNContactTypePerson; 
contact.givenName = @"Gates"; 
contact.familyName = @"GemmyApps"; 
NSData *bufferedData = [CNContactVCardSerialization dataWithContacts:contact error:nil]; 

Es kann keine NSData Objekt erhalten, wenn NSArray von CNContacts zu der oben Schnittstelle übergeben. Hier ist der Code

CNContactStore* contactStore = [[CNContactStore alloc]init]; 
NSArray * keysToFetch [email protected][CNContactEmailAddressesKey, CNContactPhoneNumbersKey, CNContactFamilyNameKey, CNContactGivenNameKey, CNContactPostalAddressesKey]; 
NSMutableArray *arrFetchedcontact = [contactStore unifiedContactsMatchingPredicate:[CNContact predicateForContactsInContainerWithIdentifier: @[contactStore.defaultContainerIdentifier][0]] keysToFetch:keysToFetch error:nil]; 
NSData *bufferedData = [CNContactVCardSerialization dataWithContacts:arrFetchedcontact error:nil]; 

LLDB Nachricht: Exception Schreib Kontakte zu vCard (Daten): Ein Objekt wurde nicht angefordert, wenn der Kontakt geholt wurde.

Antwort

0

diese Weise können Sie Daten, indem Array erhalten können,

CNMutableContact * contact = [CNMutableContact new]; 
contact.middleName = @"Stalin"; 
contact.contactType = CNContactTypePerson; 
contact.givenName = @"Gates"; 
contact.familyName = @"GemmyApps"; 

CNMutableContact *contact2 = [CNMutableContact new]; 
contact.middleName = @"Stalin1"; 
contact.contactType = CNContactTypePerson; 
contact.givenName = @"Gates1"; 
contact.familyName = @"GemmyApps1"; 

NSArray *contactArr = [NSArray arrayWithObjects:contact,contact2,nil]; 

NSData *bufferedData = [CNContactVCardSerialization dataWithContacts:contactArr error:nil]; 



NSLog(@"data length %d",bufferedData.length); 
NSLog(@"contact is %@",contact);