问题标签 [abpersonviewcontroller]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
370 浏览

ios - 我可以在没有 ABPersonViewController 的情况下从 ABaddressBook 编辑现有联系人吗?

我创建了一个自定义通讯簿,它可以复制带有联系人的本地通讯簿列表。现在,在详细视图控制器中,我设法添加了一个新联系人并从本机通讯录中删除了一个现有联系人。我想编辑现有联系人并将更改保存到本机通讯录。

0 投票
0 回答
211 浏览

contact - peoplePickerNavigationController didSelectPerson 未调用链接联系人

当用户使用 ABPeoplePickerNavigationController 点击链接联系人的属性时 - 既不 - (void)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker didSelectPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier 也不 (BOOL) peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier被调用。对于定期联系,这很有效。我究竟做错了什么?

这是我显示联系人的方式:

0 投票
0 回答
193 浏览

ios - 如何获取姓名和电话号码peoplePicker

所以我正在尝试遵循苹果提供的关于 ABPeoplePickerNavigationController 的指南和教程。

到目前为止,我能够做的是让选择器显示并使用此代码查看所有可用的联系人:

然后显示信息我使用苹果提供的代码: https ://developer.apple.com/library/ios/documentation/ContactData/Conceptual/AddressBookProgrammingGuideforiPhone/Chapters/QuickStart.html

如果你向下滚动一点,看到清单 1-4 显示一个人的信息

我正在使用该代码,但它从不运行。

我所能做的就是让选择器工作。选择一个人并查看其信息。

我想做的是。单击一个人后,只会显示数字,我将能够单击它以在代码中使用它。我怎样才能做到这一点?

我正在用我的手机发布这个问题,所以请温柔:P。

0 投票
1 回答
181 浏览

ios - 如果有链接的联系人,则无法从 ABPersonViewController 获取正确的数据

我与链接的联系人有联系。因此,当我向 ABPersonViewController 显示此联系人时,会显示来自链接联系人的原始电子邮件和电子邮件。 在此处输入图像描述

当我选择链接的电子邮件(John-appleseed@mac.com)然后委托方法调用:

但是在 selectedContactData 中,我收到的不是选定的电子邮件,而是第一封。我只有组合联系人才有这个问题。

是否有正确的方法从与已连接联系人的联系人中选择电子邮件?

0 投票
1 回答
427 浏览

ios - 如何更改 ABPeoplePickerNavigationController 后退按钮颜色?

ABPeoplePickerNavigationController用来获取所有联系人。我用 更改了 tintColor [[UIBarButtonItem appearanceWhenContainedIn:[ABPeoplePickerNavigationController class], nil] setTintColor:[UIColor whiteColor]];,但是当它推动时,backItem<Contacts仍然是蓝色的。

我试过这个

和推之前

[[UIBarButtonItem appearanceWhenContainedIn:[ABPersonViewController class], nil] setTintColor:[UIColor whiteColor]];,

它没有用。如何改变它?

0 投票
2 回答
200 浏览

swift - Swift:将用户在 ABPersonViewController 中选择的信息复制到字典

我正在尝试实现该func personViewController(personViewController: ABPersonViewController!, shouldPerformDefaultActionForPerson person: ABRecord!, property property: ABPropertyID, identifier valueIdentifier: ABMultiValueIdentifier) -> Bool函数,该函数是ABPersonViewControllerDelegate协议的一部分,每当用户单击 中的项目时都会调用该函数,ABPersonViewController这样用户选择的任何信息都将被复制到[String : String]字典中,从而属性名称将成为键对于属性值:[..."kABPersonFirstNameProperty" : "Alexander"...],比如说。

我还想避免开关或一长串条件测试属性是这个还是那个;我宁愿尽可能一般地处理它——我只尝试两种不同的情况:属性是单值还是多值。如果它是多值,我想复制所有可用的信息。

例如,如果用户点击地址,结果可能是这样的:[..."kABPersonAddressStreetKey" : "1 Infinite Loop", "kABPersonAddressCityKey" : "Cupertino" , "kABPersonAddressStateKey", "California (or CA?)"...].

这就是我所拥有的,经过几个小时的搜索 Apple Developer Library 和相关的 SO 问题(可悲,我知道):

我可以说有很多片段丢失了——甚至可以把它浓缩成字典吗?

在此先感谢(以及 100 声望提供完整、正确答案的人)。

0 投票
1 回答
395 浏览

ios - 在调用 shouldPerformDefaultActionForPerson 之前显示 iOS9 原生拨号器

升级到 iOS9 后,我刚刚注意到我的应用程序出现了不同的行为。我有一个显示手机设备联系人的视图。

我的代码如下:

然后我使用委托做出一些决定

用户点击电话号码。

在 IOS8 >> 代码到达 shouldContinueAfterSelectingPerson 然后出现本机拨号器

在 IOS9 >> 本地拨号器出现在代码到达 shouldContinueAfterSelectingPerson 之前。

有什么办法解决吗?

0 投票
1 回答
63 浏览

ios - 是否可以在 iOS 中创建一个临时的 ABAddressBook 数据库?

我会在 iOS 中创建一个临时 ABAddressBook 数据库,它不与“正常”的 ABAdressBook 数据库交互。我只想这样做以使用ABPersonViewController. 我的联系人数据存储在 sqlite.swift 数据库中。

0 投票
1 回答
138 浏览

objective-c - 如何通过点击 ABPersonViewController 的手机单元拨打电话?

在 iOS 7 之前,我能够显示带有相关联系信息的 ABPersonViewController,并且通过点击手机单元,我能够拨打电话。在我现在正在测试的 iOS 8.3 中,这不起作用。但是,点击电子邮件单元格会打开邮件应用程序,点击网站单元格会打开 Safari,点击地址单元格会按预期打开地图。这是我用来创建 ABPersonViewController 实例的代码:

我应该怎么做才能在 iOS 8 和 9 的 ABPersonViewController 中启用电话呼叫?

0 投票
1 回答
512 浏览

ios - 如何在 iOS 中使用通讯录获取联系人的创建日期

我必须导出 iOS 设备联系人数据并使用“联系人创建日期”进行过滤。是否可以使用 Objective C?