您的位置:首页 > 移动开发 > IOS开发

OC_AddressBook_通讯录写入

2015-08-11 20:53 309 查看
通讯录的写入,就是创建一个联系人到手机的通讯录中,如果看懂了通讯录的代码 看这个代码也是轻轻松松的了

//
// WriteToAddressBookViewController.m
// UIfont
//
// Created by iOS Developer on 15/8/11.
// Copyright (c) 2015年 iOS Developer. All rights reserved.
//

#import "WriteToAddressBookViewController.h"
#import <AddressBook/AddressBook.h>
#import <AddressBookUI/AddressBookUI.h>

@interface WriteToAddressBookViewController ()

@end

@implementation WriteToAddressBookViewController

- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
}

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{

if(ABAddressBookGetAuthorizationStatus() == 1 || ABAddressBookGetAuthorizationStatus() == 2)
{//还是要首先判断通讯隐私目前状态,1和2表示禁止访问,提示用户打开权限
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"alert"
message:@"你已经禁止访问通讯录,请在设置_隐私_通讯录中打开权限"
delegate:self
cancelButtonTitle:@"continue"
otherButtonTitles:nil, nil];
[alert show];
return;
}

ABAddressBookRef iPhoneAddressBook = ABAddressBookCreateWithOptions(nil, nil);//打开通讯录
ABRecordRef newPerson = ABPersonCreate(); //新建一个联系人
CFErrorRef error = NULL;

//单项写入,第一个参数固定是联系人,第二个参数是单项名,第三个参数是你添加的数据,第四个是error
ABRecordSetValue(newPerson, kABPersonFirstNameProperty, @"John", &error); //设置联系人的姓
ABRecordSetValue(newPerson, kABPersonLastNameProperty, @"Doe", &error); //设置联系人的名

//多项写入
ABMutableMultiValueRef multiPhone = ABMultiValueCreateMutable(kABMultiStringPropertyType);//初始化电话项

//2、给这个项里的各个属性赋值,第一个参数固定是刚刚找到的这个多项,第二个参数是要添加的数据,第三个可变,是你想添加的那个属性,
ABMultiValueAddValueAndLabel(multiPhone, @"1-555-555-5555", kABPersonPhoneMainLabel, NULL);//设置了连续三个电话号码,分别对应三个电话类型
ABMultiValueAddValueAndLabel(multiPhone, @"1-123-456-7890", kABPersonPhoneMobileLabel, NULL);
ABMultiValueAddValueAndLabel(multiPhone, @"1-987-654-3210", kABOtherLabel, NULL);
//3、把写好内容的联系人存入新建联系人中,第一个参数是人,第二个参数是联系人信息,第三个参数写入内容的项,第四个是error
ABRecordSetValue(newPerson, kABPersonPhoneProperty, multiPhone,&error);
CFRelease(multiPhone);//释放电话响对象

//保存新建联系人到通讯录
ABAddressBookAddRecord(iPhoneAddressBook, newPerson, &error);
ABAddressBookSave(iPhoneAddressBook, &error);
//如果有错,查看一下错误
if (error != NULL)
{
NSLog(@"fail");
}
}

@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iOS OC相关语法