0

我正在开发一个应用程序来将整个通讯簿备份到亚马逊 s3 中,但我无法找到任何直接的 iphone api 来将整个通讯簿放入任何数据结构中。

我尝试了以下代码,将通讯簿数组写入文档目录中的文件

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *addressPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"AddressBook.plist"];


ABAddressBookRef addressBook = ABAddressBookCreate();

NSMutableArray *allPeople = [[[(NSArray*) ABAddressBookCopyArrayOfAllPeople(addressBook)autorelease]mutableCopy]autorelease];

[allPeople writeToFile:addressPath atomically:YES];

但问题是文件没有在文档目录中创建....

任何建议表示赞赏....

提前致谢...

4

2 回答 2

0

您将需要此功能:http: //developer.apple.com/library/ios/#documentation/AddressBook/Reference/ABPersonRef_iPhoneOS/Reference/reference.html#//apple_ref/doc/uid/TP40007210

返回一个包含所有人的数组。阅读文档以获取更多信息。祝你好运!

于 2012-10-29T09:39:03.703 回答
0

我不是 100% 确定,但可能不允许一次访问整个通讯录。Apple 拥有 AddressBookPeoplePicker 是有原因的,尽管一次在 AddressBook 中挑选一个人会很痛苦。

您可以设置一个循环以编程方式遍历地址簿。然后将其添加到您自己的 NSMutableArray 中。

于 2010-06-17T11:35:45.267 回答