问题标签 [abpeoplepickerview]

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 投票
0 回答
191 浏览

ios - ABPeoplePickerNavigationController 向其代表发送错误的标识符

在我的 iOS 应用程序中,用户可以通过 ABPeoplePickerNavigationController 从 AddressBookUI 中选择电子邮件。问题是联系人条目的一封电子邮件来自地址簿,而另一封电子邮件来自 Facebook 同步。当用户在 ABPeoplePickerNavigationController 中点击其中一封电子邮件时,将使用相同的参数调用委托方法。我无法收到用户选择的正确电子邮件。在我的例子中,propertyID 等于 4 和标识符 0。

每个委托方法中的结果都是相同的。仅当有一个似乎具有相同标识符的 Facebook 电子邮件地址时,我才会遇到此问题。对于具有多个电子邮件的所有其他联系人,委托方法的参数是正确的。如果有人可以帮助我解决这个问题,那就太好了。提前致谢。

0 投票
0 回答
431 浏览

ios - IOS ABPeoplePickerNavigationController 崩溃

我正在开发一个 iOS 应用程序。我用过 ABPeoplePickerNavigationController。如果 ABPeoplePickerNavigationController 屏幕使用 presentModalViewController 方法从另一个屏幕打开,也使用 presentModalViewController 方法打开,则应用程序崩溃。

下面是示例代码。我该如何纠正?

0 投票
4 回答
1723 浏览

ios - peoplePickerNavigationController: shouldContinueAfterSelectingPerson: property: identifier:

我正在尝试获取选定的手机号码

我与几部手机有联系(都标有“手机”)。当我选择第一个时,phoneNumber 给我第一个,但如果我选择任何连续的,phoneNumber 给我前一个号码:

联系人:Jay Jaymes 手机 +1111111111 手机 +2222222222 手机 +3333333333

点击第一个,phoneNumber= +1111111111

点击第二个,phoneNumber= +1111111111

点击第三个,phoneNumber= +2222222222

0 投票
3 回答
936 浏览

ios - 使用 PeoplePicker 时应用程序崩溃,但不在同一视图中

更新 2,我希望这对某人有所帮助,以下链接有一个解决方案:https ://discussions.apple.com/thread/5498630?start=0&tstart=0 ,显然这是一个 iOS 错误,并且可以解决。我可以创建新的 sharedPicker,但我无法从中获取任何内容或将其关闭,我不确定如何格式化超出链接中提供的格式 ,非常欢迎任何帮助。

所以我现在的问题是如何获取以下代码并实际为 peoplePickerNavigationControllerDidCancel: 和 peoplePickerNavigationController:shouldContinueAfterSelectingPerson: 创建代码:谢谢。我已经留下了我原来的大部分帖子,以防有人有类似的模糊问题。

我当前的代码:

更新 1,这个应用程序在 iPhone 4/4s 上崩溃,但如果这意味着什么,它可以在模拟器和 iPhone5 中运行。我在想它只是他们有足够的力量来克服我造成的任何泄漏

我有一个带有视图控制器的 iOS 应用程序,用户可以在其中使用ABPeoplePickerNavigationController或手动输入数字来选择应用程序的联系人。如果手动输入数字,则没有问题。如果用户打开并且:

  1. 从通讯录中选择一个新联系人

  2. 更新通讯录中的联系人以在应用程序中使用

  3. 打开和取消通讯录(全部不保存动作)

然后我无法导航到我的应用程序中的一个特定视图而不会崩溃。我不知道为什么我不能去这个视图控制器,或者为什么它会导致崩溃。

我正在使用 5 个不同的选择器,一个用于我想要添加并可能保存的每个联系人。我另存为NSUserDefaults,但就像我说的那样,即使选择器选择从未保存,崩溃仍然存在。我可以毫无意外地从侧边栏导航导航到应用程序中的所有视图,我失败的视图的唯一不同之处在于它是从一个主视图控制器而不是我的侧边栏呈现的。

我感谢任何帮助或想法。这是我编写的第一个应用程序,我正在尝试更新它并失败了。我想让它再次发挥作用,这样我就可以回来重构它。

我的实现:

0 投票
2 回答
760 浏览

ios - ABPeoplePickerNavigationController 代表不工作

我的目标是允许用户从联系人中导入联系人详细信息(电话、姓名和电子邮件)。当我设置 ABPeoplePickerNavigationController 并将委托设置为 self 时,不会调用委托方法。正在显示人员选择器视图这是我的代码:

我错过了什么?我还想补充一点,ABPeoplePicker 类似乎不再是 UIAddressBook 框架的一部分。它也不在文档中。

0 投票
1 回答
287 浏览

ios - 如何从 ABPeoplePicker 获取用户选择的电子邮件地址?

Stackoverflow 上的其他人发布了一种从联系人列表中获取用户选择的电话号码的方法。可以为电子邮件地址完成,如果可以,我该怎么做?这是代码:

这是帖子的链接: 如何从通讯录中获取个人电话号码?

0 投票
1 回答
580 浏览

ios - 使用 ABPeoplePickerNavigationController 后展开 segue 崩溃

我有一个模态呈现的视图(称之为“当前视图”)。它对前面的模态呈现的视图有一个展开的转义。当前视图有一个连接到以下代码的按钮:

当前视图设置为选取器的委托,并实现以下委托方法:

到目前为止没有什么疯狂的。当我按下按钮时,我的联系人列表就会出现。我可以选择一个联系人,然后我会返回当前视图,没有崩溃,也没有明显的变化。

现在,当前视图有另一个按钮(后退按钮)连接到我在情节提要中创建的展开转场。我通过 ctrl 从按钮拖动到“退出”并选择我在前一个视图中定义的展开函数来做到这一点:

这是关键。如果我在当前视图中按下后退按钮,并且在此视图中我没有进入地址簿,它会正确展开。没问题。我可以整天在这些视图之间来回穿梭。但是,如果我进入通讯簿并返回到当前视图,按后退按钮会导致 EXEC_BAD_ACCESS。如果我通过选择联系人或按取消离开通讯录,这没有任何区别。

我完全迷路了。请停下来。

0 投票
2 回答
415 浏览

ios - 在模式表单中显示时带有 ABPeoplePickerNavigationController 的 UI 错误

我在 iPad 上(横向)看到 ABPeoplePickerNavigationController 的一个非常奇怪的 UI 错误,当用户单击 PeoplePicker 中的搜索栏然后随后取消时,键盘没有退出,并且人员选择器的 UI 变得一团糟。这是错误的照片:

在此处输入图像描述

ABPeoplePickerNavigationController 使用以下代码显示在模式表单中:

UI 与预期一样,直到用户点击搜索字段,这会调出键盘,然后取消搜索字段,这不会像在 iPhone 上那样退出键盘。此外,当用户在此模式下滚动联系人列表时,所有字母标题(即 A 标题)都固定在 A 标题当前所在的位置,而不是在搜索栏正下方的视图顶部。

keybaord 没有在这里辞职是有原因的吗?

我很难调试这个,因为 ABPeoplePickerNavigationController 不是子类,所以任何帮助将不胜感激!

0 投票
1 回答
991 浏览

ios - 如何使用 Grant Access 以编程方式从通讯录中获取电子邮件地址?(目标 C)

如何使用 Grant Access 以编程方式从通讯簿中读取电子邮件地址?我知道这可以在 ABPeoplePicker 的帮助下实现,但是我正在寻找一种不涉及任何 GUI 的方法。

有人可以帮我解决这个问题吗?

0 投票
1 回答
107 浏览

macos - 为什么 ABPeoplePickerView 在双击时会崩溃?

设置了 nameDoubleAction 和 target 后,ABPeoplePickerView 在双击名称时会按预期运行。还有一个属性列 - 您可以在设计时在属性检查器中添加电子邮件和电话等属性。它工作得相当好,即使对于多值属性,例如一个人的多个电话号码。外观表明,即使您碰巧单击了属性列,双击也应该起作用。

但是,我在实际应用程序中发现,如果双击属性列,应用程序会挂起。

执行挂起在上面的行,调试器报告 EX_BAD_ACCESS 和 sender 是 0x0。

我用最少的代码构建了四个测试应用程序。2 和 4 工作正常,1 和 3 崩溃如上。据我所知,3 和 4 是相同的,它们是在几分钟内创建的;代码只是从一个复制到另一个。然而第一个崩溃了,第二个很好。唯一的区别可能是我在 Xib 中创建内容、添加 AddressBook 框架或编写#imports 的顺序。

另一个荒谬的是,我只需要导入AddressBook/AddressBook.h编译器就可以接受这一行:

似乎也不需要导入AddressBook/ABPeoplePickerView.h,但如果不添加后者,我的真实世界应用程序将无法编译。