Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/112.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 并非来自通讯簿的所有联系人号码_Ios_Iphone_Ios7_Ios8_Addressbook - Fatal编程技术网

Ios 并非来自通讯簿的所有联系人号码

Ios 并非来自通讯簿的所有联系人号码,ios,iphone,ios7,ios8,addressbook,Ios,Iphone,Ios7,Ios8,Addressbook,我在通讯簿中遇到了一个问题,我从联系人中保存了两个电话号码,一个是家里的,另一个是办公室的,我在应用程序联系人列表中只得到一个号码。如果我想得到这两个号码,我想做什么 使用此代码,您将从通讯簿中获取所有联系人姓名。我希望它将对您有所帮助。 With this code you will fetch all contact names from address book.I hope it will help you. -(void)addressbookfetch {

我在通讯簿中遇到了一个问题,我从联系人中保存了两个电话号码,一个是家里的,另一个是办公室的,我在应用程序联系人列表中只得到一个号码。如果我想得到这两个号码,我想做什么

使用此代码,您将从通讯簿中获取所有联系人姓名。我希望它将对您有所帮助。
With this code you will fetch all contact names from address book.I hope it will help you.


   -(void)addressbookfetch
    {   
      CFErrorRef error = NULL;
      ABAddressBookRef addressBook = ABAddressBookCreateWithOptions(NULL, &error);
      CFArrayRef people=ABAddressBookCopyArrayOfAllPeople(addressBook);
       CFMutableArrayRef peopleMutable = CFArrayCreateMutableCopy(
                                                            kCFAllocatorDefault,
                                                             CFArrayGetCount(people),
                                                           people
                                                           );

       CFArraySortValues(
                  peopleMutable,
                  CFRangeMake(0, CFArrayGetCount(peopleMutable)),
                  (CFComparatorFunction) ABPersonComparePeopleByName,
                  (void*) ABPersonGetSortOrdering()
                  );
      if(addressBook != nil)
     {
        NSLog(@"Succesful.");
        NSArray *allContacts = (__bridge_transfer NSArray *)ABAddressBookCopyArrayOfAllPeople(addressBook);

        NSUInteger i = 0;
        for(i=0;i<[allContacts count];i++)
        {
            Person *person = [[Person alloc]init];

            ABRecordRef contactPerson = (__bridge  ABRecordRef)allContacts[i];


           ABMultiValueRef phoneNumber = ABRecordCopyValue(contactPerson, kABPersonPhoneProperty);
           NSUInteger k=0;
           for(k=0;k<ABMultiValueGetCount(phoneNumber);k++)
           {
               NSString *firstName = (__bridge_transfer NSString *)ABRecordCopyValue(contactPerson, kABPersonFirstNameProperty);
               NSString *lastName = (__bridge_transfer NSString *)ABRecordCopyValue(contactPerson, kABPersonLastNameProperty);

               NSString *fullName = [NSString stringWithFormat:@"%@ %@",firstName ?: @"",lastName ?: @""];

               fullName = [fullName stringByReplacingOccurrencesOfString:@"(null)" withString:@""];
            [addressData addObject:fullName];
              NameStr = [[NSMutableString alloc] initWithString:fullName];
            NameStrnew=[NSString stringWithString:fullName];
               NSLog(@"Name string %@",NameStrnew);
              [phoneBookNames addObject:NameStrnew];



               NSString *phonenumber= (__bridge_transfer NSString *)ABMultiValueCopyValueAtIndex(phoneNumber, k);
               if(k==0)

              {
                  person.homePhone = phonenumber;
                  PhoneStr = [[NSMutableString alloc] initWithString:phonenumber];
                   PhoneStrnew =[NSString stringWithString:phonenumber];
                    NSLog(@"PhoneStrnew%@",PhoneStrnew);

                // [addressData addObject:phonenumber];
                   [phoneBookNumbers addObject:PhoneStrnew];

                }
-(作废)addressbookfetch { CFErrorRef error=NULL; ABAddressBookRef addressBook=ABAddressBookCreateWithOptions(NULL,错误(&R); CFArrayRef people=abAddressBookCopyArrayFallPeople(地址簿); CFMutableArrayRef peopleMutable=CFArrayCreateMutableCopy( KCO默认值, CFArrayGetCount(人), 人 ); CFArraySortValues( 人是可变的, CFRangeMake(0,CFArrayGetCount(人员可变)), (CFComparatorFunction)ABPersonComparepropleByName, (无效*)ABPersonGetSortOrdering() ); 如果(地址簿!=nil) { NSLog(@“成功”); NSArray*所有联系人=(u_u桥u传输NSArray*)ABAddressBookCopyArrayFallPeople(addressBook); 整数i=0;
对于(i=0;itry this:请发布一些代码。@LyndseyScott:谢谢Lyndsey尝试解决我的问题,但是,我解决了这个问题,只是循环中有一点小错误。