2012-08-17 65 views
0

我已经实现了获取联系人列表表单地址簿的代码。对于我已经使用这个代码不创建地址簿对象

ABAddressBookRef addressBook = ABAddressBookCreate(); 
CFArrayRef allSources = ABAddressBookCopyArrayOfAllPeople(addressBook); 
CFIndex nPeople = ABAddressBookGetPersonCount(addressBook); 

当这个代码执行,然后我的应用程序崩溃和崩溃报告中,我得到了

Exception Type: EXC_BREAKPOINT (SIGTRAP) 
Exception Codes: 0x0000000000000001, 0x000000000000defe 
Crashed Thread: 5 

而且我与iOS 6.0的iPhone 3GS测试。

那么我如何解决这个错误呢?

+0

当我阅读标题时,我以为OP如何*不*创建地址簿... – 2012-08-18 06:24:25

回答

0

使用此代码,它会给你的对象列表。

ABAddressBookRef addressBook = ABAddressBookCreate(); 
ABRecordRef source = ABAddressBookCopyDefaultSource(addressBook); 
NSArray *persons = (NSArray *)(ABAddressBookCopyArrayOfAllPeopleInSourceWithSortOrdering(addressBook, source, kABPersonSortByFirstName)); 
+0

我在地址簿中获得零值,而我在地址簿中有152个联系人。 – ios 2012-08-17 08:08:09

+0

我得到,因为我有一个contact.Check其他财产。 – Sandy 2012-08-17 08:53:05

+0

请检查这[链接](http://stackoverflow.com/questions/11985317/retrieve-selected-group-from-native-contact-application/11986219#11986219),我给了一个答案尝试that.It可能会帮助您。 – Sandy 2012-08-17 09:01:40

1

感谢您的支持,我得到了解决方案。我的问题的解决方案是

ABAddressBookRef addressBook = ABAddressBookCreate();

这在ios 6.0中已弃用。