iOS讀取本地通訊錄範例程式碼:

來源:互聯網
上載者:User

標籤:

iOS讀取本地通訊錄範例程式碼:

+ (NSArray *)readAllPeoples{    ABAddressBookRef tmpAddressBook = nil;        NSMutableArray *array = [[NSMutableArray alloc] init];        if ([[UIDevice currentDevice].systemVersion floatValue] >= 6.0) {        tmpAddressBook = ABAddressBookCreateWithOptions(NULL, NULL);        dispatch_semaphore_t sema = dispatch_semaphore_create(0);        ABAddressBookRequestAccessWithCompletion(tmpAddressBook, ^(bool greanted, CFErrorRef error){            dispatch_semaphore_signal(sema);        });        dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);    } else {        tmpAddressBook = ABAddressBookCreate();    }     if (!tmpAddressBook) {        return nil;    }        NSArray *tmpPeoples = (__bridge NSArray*)ABAddressBookCopyArrayOfAllPeople(tmpAddressBook);    for(id tmpPerson in tmpPeoples){        NSString *userName = @"";                NSString *firstName = (__bridge NSString*)ABRecordCopyValue((__bridge ABRecordRef)(tmpPerson), kABPersonFirstNameProperty);        NSString *lastName = (__bridge NSString*)ABRecordCopyValue((__bridge ABRecordRef)(tmpPerson), kABPersonLastNameProperty);             if ([NSString isVaildString:firstName] && [NSString isVaildString:lastName]) {            userName = [NSString stringWithFormat:@"%@%@",lastName,firstName];        }else if([NSString isVaildString:firstName]){            userName = [NSString stringWithFormat:@"%@",firstName];        }else if([NSString isVaildString:lastName]){            userName = [NSString stringWithFormat:@"%@",lastName];        }                ABMultiValueRef tmpPhones = ABRecordCopyValue((__bridge ABRecordRef)(tmpPerson), kABPersonPhoneProperty);        NSInteger photoCount = ABMultiValueGetCount(tmpPhones);        if (photoCount < 5) {            for(NSInteger j = 0; j < photoCount; j++){                NSString *tmpPhoneStr = (__bridge NSString*)ABMultiValueCopyValueAtIndex(tmpPhones, j);                ITTDINFO(@"telPhone:%@",tmpPhoneStr);                NSString *telPhone = [tmpPhoneStr stringByReplacingOccurrencesOfString:@"-" withString:@""];                if ([CommonUtils checkPhoneNumInput:telPhone]) {                    AddressBookModel *model = [[AddressBookModel alloc] init];                    model.userName = userName;                    model.telPhone = telPhone;                    [array addObject:model];                }            }        }        CFRelease(tmpPhones);    }        CFRelease(tmpAddressBook);        return array;}


+ (BOOL)checkPhoneNumInput:(NSString *)telePhone

{

    NSString *MOBILE = @"^1[34578][0-9]{9}$";

   NSPredicate *regextestmobile = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", MOBILE];

   return [regextestmobile evaluateWithObject:telePhone];

}



 

iOS讀取本地通訊錄範例程式碼:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.