How to get VCF data with contact images using CNContactVCardSerialization dataWithContacts: method?

前端 未结 3 612
忘了有多久
忘了有多久 2020-12-19 06:25

I\'m using CNContacts and CNContactUI framework and picking a contact via this

CNContactPickerViewController *contactPicker = [CNContactPickerViewController          


        
3条回答
  •  谎友^
    谎友^ (楼主)
    2020-12-19 06:51

    For N number of contacts, you can add image data into VCF by using simple method as below.

    -(NSData*)getVCFDataWithImagesFromContacts:(NSArray*)arrContacts
    {
    //---- Convert contacts array into VCF data.
        NSError *error;
        NSData *vcfData = [CNContactVCardSerialization dataWithContacts:arrContacts error:&error];
    
    
        //--- Convert VCF data into string.
        NSString *strVCF = [[NSString alloc] initWithData:vcfData encoding:NSUTF8StringEncoding];
    
        //--- Split contacts from VCF.
        NSMutableArray *arrSplit = (NSMutableArray*)[strVCF componentsSeparatedByString:@"END:VCARD"];
        [arrSplit removeLastObject];//-- if object is "\r\n" otherwise comment this line.
    
        //--- Validate array count
        if (arrSplit.count == arrContacts.count)
        {
            for (int index=0;index

提交回复
热议问题