Tag: 地址簿

无法在iOS 6上访问设备上的联系人源

这个代码在iOS 5.1上工作正常,也可以在iOS 6的iPhone模拟器中工作。它在运行iOS 6的iPhone 4上静静地失败。最终的结果是我无法将某个人添加到联系人应用程序。 下面的代码片段都不起作用(每个日志如下): ABRecordRef defaultSource = ABAddressBookCopyDefaultSource(_addressBook); NSLog(@"2 – defaultSource = %@", defaultSource); AB:无法编译查询语句(ABCCopyArrayOfAllInstancesOfClassInSourceMatchingProperties):SELECT ROWID,Name,ExternalIdentifier,Type,ConstraintsPath,ExternalModificationTag,ExternalSyncTag,AccountID,Enabled,SyncData,MeIdentifier,Capabilities FROM ABStore WHERE Enabled =? 2012-09-24 11:00:36.731 QR vCard [193:907] 2 – defaultSource =(CPRecord:0x1f59fd50 ABStore) 当我尝试添加一个人到地址簿时,我得到了这个(似乎是因为源是无效的,即使它看起来像上面那样也可以): 2012-09-24 11:18:32.231 QR vCard [220:907] ABAddressBookAddRecord error =操作无法完成。 (ABAddressBookErrorDomain错误1.) 我以为我可以得到所有的来源,然后select一个,但以下任何一个都不会返回: CFArrayRef allSources = ABAddressBookCopyArrayOfAllSources (_addressBook); NSLog(@"2 – allSources = %@", allSources); […]

将vCard数据直接添加到系统地址簿

我正在devise一个QR码阅读器,它需要检测并导入名片格式(.vcf)的联系人名片。 有没有办法直接将卡数据添加到系统地址簿,还是我需要自己parsingvCard并单独添加每个字段?

如何searchiPhone通讯簿中的特定电话号码?

我正在开发一个应用程序,连接到另一个iPhone使用bonjour。 其中一个特点是当我连接到其他设备时,它会自动检查我是否有其他人的电话号码。 所以我的问题是如何检查我的地址簿中的其他设备提供的电话号码?

如何写在Facebook / Twitter的地址簿在iOS?

在我的应用程序中,我将一些数据导出到地址簿中,以创build一些新的联系人条目。 我可以出口我想要的一切,没有问题,除了Facebook和Twitter地址。 我完全失去了这两个。 以下是我用来导出非Facebook / Twitter数据的代码: ABMutableMultiValueRef multiPhone = ABMultiValueCreateMutable(kABMultiStringPropertyType); ABMultiValueAddValueAndLabel(multiPhone, (__bridge CFTypeRef)(thePhoneMobile), kABPersonPhoneMobileLabel, NULL); ABMultiValueAddValueAndLabel(multiPhone, (__bridge CFTypeRef)(thePhoneHome), kABHomeLabel, NULL); ABRecordSetValue(newPerson, kABPersonPhoneProperty, multiPhone, NULL); CFRelease(multiPhone); 以下是我如何导出不工作的Facbeook: ABMutableMultiValueRef multiSocial = ABMultiValueCreateMutable(kABMultiStringPropertyType); ABMultiValueAddValueAndLabel(multiSocial, (__bridge CFTypeRef)(theFacebook), kABPersonSocialProfileServiceFacebook, NULL); ABRecordSetValue(newPerson, kABPersonSocialProfileProperty, multiSocial, NULL); CFRelease(multiSocial); 我哪里错了?

如何告诉ABPeoplePickerNavigationController仅列出具有电子邮件地址的联系人?

我希望我的用户通过从地址簿中select联系人的电子邮件来填写电子邮件字段。 我不希望他们滚动所有没有设置电子邮件的联系人,所以我想过滤那些有电子邮件地址的联系人。 这是迄今为止我写的代码。 我可以找出谁有一个电子邮件地址,谁没有,但我不能告诉ABPeoplePickerNavigationController只列出正确的联系人。 这是不可能的,我的意思是我必须通过使用表视图来实现我自己的联系人select器类,或者这段代码有什么问题吗? ABAddressBookRef addressBook = ABAddressBookCreate(); NSArray *peopleList = (NSArray *)ABAddressBookCopyArrayOfAllPeople(addressBook); NSLog(@"%ld people exist in the addressBook", ABAddressBookGetPersonCount(addressBook)); for (id peopleRecord in peopleList) { ABMultiValueRef mv = ABRecordCopyValue((ABRecordRef)peopleRecord, kABPersonEmailProperty); CFIndex numberOfAddresses = ABMultiValueGetCount(mv); if(numberOfAddresses == 0) { CFErrorRef err; ABAddressBookRemoveRecord( addressBook, (ABRecordRef)peopleRecord, &err); } } [peopleList release]; NSLog(@"%ld people have an email", […]

如何从ABPeoplePickerNavigationController获取街道地址

我需要一个联系人的街道地址。 我知道如何获得单值属性,但街道地址是一个多值属性。 苹果的文档显示如何设置,但不能检索它。 任何帮助? PS:这不起作用: ABRecordCopyValue(person, kABPersonAddressStreetKey);

Objective C将联系人添加到iPhone中的特定组

我正在制作一个存储通讯簿中的联系人的应用程序,我正在使用Xcode 4.2 我知道如何在地址簿中添加一个联系人,比方说我在联系人列表中有一个名为“A”的组,我想将此联系人添加到该组中,该怎么做? 这里是我正在使用的代码: ABAddressBookRef *iPhoneAddressBook = ABAddressBookCreate(); ABRecordRef contact = ABPersonCreate(); //add infos ABRecordSetValue(contact, kABPersonFirstNameProperty,(__bridge_retained CFStringRef)firstName, nil); ABRecordSetValue(contact, kABPersonLastNameProperty,(__bridge_retained CFStringRef)lastName, nil); ABRecordSetValue(contact, kABPersonOrganizationProperty, (__bridge_retained CFStringRef)organization, nil); ABRecordSetValue(contact, kABPersonJobTitleProperty, (__bridge_retained CFStringRef)title, nil); ABMultiValueRef multiPhone = ABMultiValueCreateMutable(kABMultiRealPropertyType); ABMultiValueAddValueAndLabel(multiPhone, (__bridge_retained CFStringRef)workTel, kABWorkLabel, NULL); ABMultiValueAddValueAndLabel(multiPhone, (__bridge_retained CFStringRef)workFax, kABPersonPhoneWorkFAXLabel, NULL); ABRecordSetValue(contact, kABPersonPhoneProperty, multiPhone, nil); CFRelease(multiPhone); ABAddressBookAddRecord(iPhoneAddressBook, contact, nil); 谢谢

从iOS通讯簿API中查找常用联系人

有没有办法从iOS通讯簿API中find常用联系人? 我指的是用户在联系人应用程序的“collections夹”选项卡中放置的联系人。

如何从AddressDictionary获取格式化的地址NSString?

尝试从AddressGeneration获得格式化的地址,我从CLGeocoder获得。 使用下面的代码没有结果: subtitle = [NSString stringWithString:[[addressDict objectForKey:@"FormattedAddressLines"]objectAtIndex:0]]; 还试过: subtitle = [[[ABAddressBook sharedAddressBook] formattedAddressFromDictionary:placemark.addressDictionary] string]; 但是这个代码似乎只适用于Mac OS X。 编译器询问有关ABAdressBook,但我有两个头文件导入。 #import <AddressBook/ABAddressBook.h> #import <AddressBook/AddressBook.h>

如何在Swift中以string的forms获取CNContact电话号码?

我正在尝试检索所有联系人的姓名和电话号码,并将其与iOS中的Swift放入数组中。 我已经做到了这一点: func findContacts() -> [CNContact] { marrContactsNumber.removeAllObjects() marrContactsName.removeAllObjects() let store = CNContactStore() let keysToFetch = [CNContactGivenNameKey, CNContactFamilyNameKey, CNContactPhoneNumbersKey] let fetchRequest = CNContactFetchRequest(keysToFetch: keysToFetch) var contacts = [CNContact]() do { try store.enumerateContactsWithFetchRequest(fetchRequest, usingBlock: { (let contact, let stop) -> Void in contacts.append(contact) self.marrContactsName.addObject(contact.givenName + " " + contact.familyName) self.marrContactsNumber.addObject(contact.phoneNumbers) print(contact.phoneNumbers) } catch let error as […]