2

主要问题:

我创建了一个应用程序,其中包含三个选项卡中的人员目录(按位置、专业和名称)。该人可以在应用程序中选择一个联系人并呼叫他们;但是,接收呼叫的电话仅显示一个号码而不是名称(因为联系人不在通讯录中,而是在我的应用程序的 sqlite db 中)。

解决方法:

我不太确定是否有任何其他方法可以解决这个问题,但由于呼叫和接收电话都将安装应用程序,我的解决方法是从我的 sqlite3 数据库(或数据库的数组)中导入联系人被拉入)到 iPhone 的通讯录中。一旦进入 iPhone 的通讯录,当有人打电话时,它会显示一个名字而不是一个号码。

问题:

我可以找到将单个联系人添加到地址簿的文档,但不能添加多个人(数据库当前包含大约 150 个联系人)。我想过尝试做一个循环,但我真的不知道从哪里开始..任何人都可以帮助我找到正确的方法来完成这个:)

另外,在后台执行此操作的最佳方法是什么,以免导致应用程序暂停\冻结。

提前致谢!

4

1 回答 1

0

尝试这个....

nameArray = [[NSMutableArray alloc]init];

for (int index = 0 ; index< ABAddressBookGetPersonCount(addressBookObj); index++)
{
    recordRefObj = CFArrayGetValueAtIndex(arrayRefObj, index);
    NSString *nameStr = (__bridge NSString*) ABRecordCopyValue(recordRefObj, kABPersonFirstNameProperty);
    [nameArray addObject:nameStr];
}
于 2012-12-14T11:30:49.100 回答