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];

}

				
时间: 2024-11-06 07:41:45

iOS读取本地通讯录示例代码:的相关文章

jQuery中读取json文件示例代码

json文件是一种轻量级的数据交互格式.一般在jquery中使用getJSON()方法读取,具体示例代码如下,感兴趣的朋友可以参考下哈,希望可以帮助到你 json文件是一种轻量级的数据交互格式.一般在jquery中使用getJSON()方法读取. 复制代码 代码如下: $.getJSON(url,[data],[callback]) url:加载的页面地址 data: 可选项,发送到服务器的数据,格式是key/value callback:可选项,加载成功后执行的回调函数 1.首先建一个JSON

IOS 读取本地的Json/plist 文件

一.一般本地可以存储轻量级数据存储 plist  这个主要是操作字典 方法如下: NSString * sampleFile= [[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent:@"sections_auth=4.plist"]; NSDictionary* dic_sections = [NSDictionary dictionaryWithContentsOfFile:sampleFile]; 二.

IOS..读取本地HTML文档

#import <UIKit/UIKit.h> #import “LoadLocalHtmlViewController.h” @interfaceLoadLocalHtmlViewController : UIViewController { IBOutlet UIWebView*myWebView; } @property(nonatomic,retain) UIWebView *myWebView; -(IBAction)LoadLocalHtmlFile:(id)sender; @en

读取本地通讯录

import android.content.ContentResolver; import android.content.ContentUris; import android.content.Context; import android.database.Cursor; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.net.Uri; import android.

jQuery中读取本地json文件

json文件是一种轻量级的数据交互格式.一般在jquery中使用getJSON()方法读取,具体示例代码如下,感兴趣的朋友可以参考下哈,希望可以帮助到你 $.getJSON(url,[data],[callback]) url:加载的页面地址 data: 可选项,发送到服务器的数据,格式是key/value callback:可选项,加载成功后执行的回调函数 目录结构: 1.首先建一个JSON格式的文件userinfo.json 保存用户信息. 如下: [ { "name":"

iOS App集成Apple Pay教程(附示例代码)

苹果在本周一发布了iOS 8.1版本,并正式开放了Apple Pay支付系统.Apple Pay是一个基于NFC的支付系统,不久将被数以万计的线下零售商店予以支持.即便这项科技并不是彻底的突破性进展,但它足以推动许多公司和零售商来支持这种支付方式,并成为苹果又一项成功的投资. Apple Pay还给开发者带来了处理支付的新渠道,用户将期望在应用中使用它,因为它将验证和交易极端简化,仅需手指轻轻一触即可完成,如果应用里面有涉及到交易,开发者很有必要集成Apple Pay.那么如何将Apple Pa

iOS国家城市选择器 读取本地json文件

最近在做的产品有这么个需求,读取本地json文件中的国家和城市信息,显示到pickerview上,在网上查了一下,发现没有什么合适的可用资源,所以就自己写了一个简单的DEMO. 效果图: 读取本地json的方法如下: + (NSMutableArray *)getCityData { NSArray *jsonArray = [[NSArray alloc]init]; NSData *fileData = [[NSData alloc]init]; NSUserDefaults *UD = [

iOS开发数据库篇—SQL代码应用示例

iOS开发数据库篇—SQL代码应用示例 一.使用代码的方式批量添加(导入)数据到数据库中 1.执行SQL语句在数据库中添加一条信息 插入一条数据的sql语句: 点击run执行语句之后,刷新数据 2.在ios项目中使用代码批量添加多行数据示例 代码示例: 1 // 2 // main.m 3 // 01-为数据库添加多行数据 4 // 5 // Created by apple on 14-7-26. 6 // Copyright (c) 2014年 wendingding. All rights

iOS 读取Json 代码

保存一下iOS 读取Json的代码,留着以后Copy用,哈哈. NSString* path = [[NSBundle mainBundle] pathForResource: @"Sandwiches" ofType: @"json"]; NSString* data = [NSString stringWithContentsOfFile: path encoding: NSUTF8StringEncoding error: nil]; NSData* resu