Objective C Adding a Contact to a specific Group in the iPhone

前端 未结 2 1788
陌清茗
陌清茗 2021-01-01 05:09

I am making an App that stores contacts in the address book , I am using Xcode 4.2

I know how to add a contact in the address book , let s say I have a group called

2条回答
  •  青春惊慌失措
    2021-01-01 05:40

    First Check if the group exist:

        -(void) CheckIfGroupExistWithName:(NSString*)groupName {
    
    
    BOOL hasGroup = NO;
    //checks to see if the group is created ad creats group for HiBye contacts
    ABAddressBookRef addressBook = ABAddressBookCreate();
    CFIndex groupCount = ABAddressBookGetGroupCount(addressBook);
    CFArrayRef groupLists= ABAddressBookCopyArrayOfAllGroups(addressBook);
    
        for (int i=0; i

    }

    Use this to create new group, and store its ID

    -(void) createNewGroup:(NSString*)groupName {
    
    ABAddressBookRef addressBook = ABAddressBookCreate();
    ABRecordRef newGroup = ABGroupCreate();
    ABRecordSetValue(HiByeGroup, kABGroupNameProperty,groupName, nil);
    ABAddressBookAddRecord(addressBook, newGroup, nil);
    ABAddressBookSave(addressBook, nil);
    CFRelease(addressBook);
    
    //!!! important - save groupID for later use
    self.groupId = ABRecordGetRecordID(newGroup);
    CFRelease(newGroup);
    

    }

    The is how to set a contact to a group

                //Use the Group ID you stored.
                ABRecordRef HiByeGroup = ABAddressBookGetGroupWithRecordID(addressbook, self.groupId);
        BOOL didAdd = ABGroupAddMember(HiByeGroup,ref,&error);
    
        if (!didAdd) {
            // Update to handle the error appropriately.
            NSLog(@"Unresolved error while adding person to HiBye group %@", &error);
            exit(-1);  // Fail
        }
    
        BOOL didSave = ABAddressBookSave(addressbook, &error);
    
        if (!didSave) {
        // Update to handle the error appropriately.
            NSLog(@"Unresolved error while saving address book%@", &error);
            exit(-1);  // Fail
        }
    

    Good luck

提交回复
热议问题