苹果在iOS9的SDK中废除了AddressBookUI.framework的一些功能(是不是这个库都废除了,有待验证),具体和保存联系人相关的几个系统界面如下:
联系人选择:AddressBookUI/ABPeoplePickerNavigationController.h
联系人详情:AddressBookUI/ABPersonViewController.h
未知联系人:AddressBookUI/ABUnknownPersonViewController.h
新建联系人:AddressBookUI/ABNewPersonViewController.h
新的SDK中使用
联系人选择:ContactsUI/CNContactPickerViewController.h
联系人详情、新建联系人、未知联系人:ContactsUI/CNContactViewController.h(使用不同方法创建,下面会说)
下面的链接是官方的ppt,讲的很详细,不过是swift版本
http://devstreaming.apple.com/videos/wwdc/2015/223rmo6dv9hxh/223/223_introducing_the_contacts_framework_for_ios_and_os_x.pdf
我要分享的是OC的实现,下面是我的实例。
一.需求
我的老项目里面的需求和微信的效果是一样的(下图为微信截图),这里先吐槽下,这个功能实现起来要区分ios7(6),ios8,ios9
二.思路
保存新联系人非常简单使用系统的新建联系人页,把需要保存的对象封装传入,剩下的交给系统处理就好;
保存现有联系人可能就费点心思了,有两种方式一个是使用未知联系人页面处理(我的客户比较NB,必须按需求100%实现),另一种是先跳转到选择页面中获取一个现有联系人的对象,再跳转到新建好友页面(把该对象传入),之后的事情交给系统处理(这个困扰了我很久,后来受到微信的启发,才想出来这个野路子)
三.实现(模拟器无法保存,请用真机调试),demo: Contact4iOS9.zip (38 K) 下载次数:36
导入头文件
#import <ContactsUI/CNContactViewController.h>
#import <ContactsUI/CNContactPickerViewController.h>
联系人选择:AddressBookUI/ABPeoplePickerNavigationController.h
联系人详情:AddressBookUI/ABPersonViewController.h
未知联系人:AddressBookUI/ABUnknownPersonViewController.h
新建联系人:AddressBookUI/ABNewPersonViewController.h
新的SDK中使用
联系人选择:ContactsUI/CNContactPickerViewController.h
联系人详情、新建联系人、未知联系人:ContactsUI/CNContactViewController.h(使用不同方法创建,下面会说)
下面的链接是官方的ppt,讲的很详细,不过是swift版本
http://devstreaming.apple.com/videos/wwdc/2015/223rmo6dv9hxh/223/223_introducing_the_contacts_framework_for_ios_and_os_x.pdf
我要分享的是OC的实现,下面是我的实例。
一.需求
我的老项目里面的需求和微信的效果是一样的(下图为微信截图),这里先吐槽下,这个功能实现起来要区分ios7(6),ios8,ios9
二.思路
保存新联系人非常简单使用系统的新建联系人页,把需要保存的对象封装传入,剩下的交给系统处理就好;
保存现有联系人可能就费点心思了,有两种方式一个是使用未知联系人页面处理(我的客户比较NB,必须按需求100%实现),另一种是先跳转到选择页面中获取一个现有联系人的对象,再跳转到新建好友页面(把该对象传入),之后的事情交给系统处理(这个困扰了我很久,后来受到微信的启发,才想出来这个野路子)
三.实现(模拟器无法保存,请用真机调试),demo: Contact4iOS9.zip (38 K) 下载次数:36
导入头文件
#import <ContactsUI/CNContactViewController.h>
#import <ContactsUI/CNContactPickerViewController.h>