问题标签 [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 投票
3 回答
400 浏览

ios - 在 Storyboard 中转至 ABPersonViewController

我正在尝试ABPersonViewController从情节提要中的按钮转到 a 。但如果我这样做,屏幕就完全黑了。

如果我使用 aIBAction作为按钮并使用以下代码,它可以工作:

这是为什么?我做错了吗?

编辑:我找到了解决方法,但我认为这不是正确的方法。我ABPersonViewControlle将 r 子类化并使用以下内容覆盖了该initWithCoder方法:

0 投票
0 回答
680 浏览

objective-c - ABPersonViewController 在视图中带有自定义按钮

我想在我的 ABPersonViewController 底部添加自定义按钮。我不想只启用allowActions,因为我不想要默认行为。相反,我考虑了两种方法来做到这一点:

A. 为基本的 Person View 创建我自己的自定义视图控制器,并且仅在用户按下编辑时推送 ABPersonViewController。我将默认情况下将 ABPersonViewController 设置为编辑模式:

但是 ABPersonViewController 中的工具栏不会将用户带回我的自定义视图控制器,而是非编辑/基本模式下的 ABPersonViewController。我已经看到有关在基本模式下修改导航栏上的按钮的堆栈溢出信息(http://stackoverflow.com/questions/2376531/custom-actions-on-abpersonviewcontroller),但它们在编辑模式下不会改变。任何想法如何解决?

B. 第二种方法是禁用 ABPersonViewController 中的 allowActions 并简单地将按钮添加到视图控制器:

但我担心这种方法会让我的应用程序被 Apple 拒绝,因为他们在文档中指出不应修改 ABPersonViewController 的外观。事实上,苹果可能会拒绝第一种方法的变化?有什么想法吗?

0 投票
1 回答
1244 浏览

iphone - Iphone ABUnknownPersonViewController 使用allowAddingToAddressBook = YES 问题

让我先解释一下我想做什么。在本机 Iphone 中的“最近”选项卡中,如果您单击任何通讯录中未找到的联系人,您可以选择“添加到现有联系人”

Iphone 最近的项目

单击“添加到现有联系人”后,会出现一个选择器,您可以进行选择。之后它会ABPersonViewController自动将您带到一个并允许您编辑或保存新联系人:

个人视图控制器

我正在尝试重新创建它,但遇到了一些问题。在我的版本中,在我创建 UnknownPersonViewController 并且最终用户按下“添加到现有联系人”之后,会出现一个选择器,并允许从类似于原生 Iphone 的地址簿中进行选择。但是在做出选择之后,姓名会自动添加到地址簿中,并且不会出现 personViewController 让用户选择是否添加联系人。即使我可以让它在选择后不自动写入地址簿,我也可以让它立即在编辑模式下显示一个 personviewcontroller。

所以我的问题是为什么它会在选择后自动更新地址簿?我将 ABUnknownpersonviewcontroller 推到 UITableviewController 导航控制器上。并在带有 iOS 6.01 的物理设备上进行测试这是一些代码:

注意:我对这篇文章有类似的问题:http ://forums.macrumors.com/archive/index.php/t-1023140.html

也许https://discussions.apple.com/thread/1682620?start=0&tstart=0

更新:似乎如果我把 kABPersonPhoneMainLabel 从那个人那里,然后它不会将电话号码写给联系人。之后我所做的是在 didResolveToPerson 委托中,我在编辑模式下调用了 personviewcontroller。这模拟了本机行为。这可能会回答我自己的问题,谢谢大家。

0 投票
1 回答
553 浏览

ios - ABPersonViewController 无法访问通讯录

我正在实现一个应用程序,用户应该能够从通讯录中导入联系人或自己提供联系人。我使用https://github.com/soffes/sspersonviewcontroller实现了一切。新联系人已添加到通讯录中,一切正常。通过使用 ABPersonViewController 等,我拥有所有字段和编辑功能......

但是现在客户坚持不应该将联系人存储在地址簿中,而是在应用程序中,并且除了导入之外,永远不应该要求用户授予对地址簿的访问权限。

我通过使用 ABRecordRef 的序列化程序(来自https://github.com/nvrooij/Let-s-Share/blob/master/Classes/ABRecordSerializer.h)使“将联系人导入应用程序”工作

但我最大的问题是,ABNewPersonViewController 和 ABPersonViewController 坚持要求用户访问地址簿。

所以我需要:

  • 无需访问地址簿即可创建联系人的视图。它应该将 ABRecordRef 返回给一个人,这样我就可以在某个地方对其进行序列化(atm 我将它存储到 NSUserDefaults)

  • 无需访问地址簿即可编辑联系人的视图。

我已经尝试过: 按照如何在不连接到地址簿的情况下使用 ABPersonViewController我设置了 displayPerson - 但“授权访问弹出窗口”仍然出现。

从 ABNewPersonViewController 和 ABPersonViewController 的文档中,我得到的印象是,在所有情况下,子类化和覆盖地址簿的 getter 以返回 nil 都可以,我最终会看到没有地址簿的视图。但是在那里的某个地方(我假设视图本身)再次创建了地址簿,我无法摆脱这个电话。

你可以如何提供帮助_

任何指向 ABPersonViewController 重新实现的指针(包括编辑功能)或任何其他提示都非常受欢迎。

任何关于如何创建具有所有好东西(国家选择、字段添加等)的创建用户视图控制器的想法也非常受欢迎。

如果您认为我的方法完全不正确,请也发表评论。我一直在寻找不同的角度,可能对整个通讯簿灾难挖得太深了。

我希望用于创建和编辑联系人的控制器与地址簿完全分离,并返回 ABRecordRef 而不是访问地址簿。就我而言,这将大大简化我的任务(一个人可以梦想)。

一切顺利,iosGoblin

0 投票
1 回答
263 浏览

ios - 如何显示电话号码和电子邮件以及用户的姓名?

这是我尝试过的:

请注意,我已设置显示属性以包含许多内容。电话。人。生日。然而,只显示姓名和职位。

我想显示人们在联系时使用的相同类型的信息。在 iOs6 中不再可能了吗?

更新:我强烈怀疑问题不在显示中,而是由于某种原因整个人记录根本不包含电话号码。那是因为我可以编辑联系人,添加电话号码和电话号码将被看到。但是,更新不会传播到“真实”联系人。在我的程序上进行的更新不会传播到真正的联系人。真实联系人上的更新不会显示在我的程序中。

我正在使用 CFArrayRef refAllPeople = ABAddressBookCopyArrayOfAllPeople(addressBook);

顺便说一下,这是在 iPhone 5.1 模拟器中。

0 投票
1 回答
395 浏览

ios - abpersonviewcontroller 中的完成按钮不保存 ios

当我在人员视图控制器的编辑模式下点击完成时,它不会保存到地址簿。它转到上一个屏幕并显示新数据。但是在联系人应用程序中没有任何改变。

更新 我想显然你不能在视图控制器加载之前更改显示的人的值。一旦稍后尝试保存,它就不会将其识别为联系人的更改。

0 投票
1 回答
626 浏览

ios - 使用 ABPersonViewControllerDelegate 时的 EXC_BAD_ACCESS

我有一个 iOS 应用程序,它在 UITableView 中显示联系人姓名列表,并ABPersonViewController在点击单元格时显示联系人。本项目使用 ARC。如果我关联一个ABPersonViewControllerDelegate对象,应用程序会在显示人员视图后立即在 AddressBookUI 框架中点击 EXC_BAD_ACCESS:

UITableViewDelegate是显示如何创建、关联和呈现theABPersonViewController和 my ABPersonViewControllerDelegate(实现为)的方法(下面链接的完整项目):BEVPVDelegate

只需注释掉在ABPersonViewController实例上设置 personViewDelegate 属性的行即可消除异常,但我需要这个委托对象。

这是 BEVPVDelegate.m 的全部内容:

这是一个演示问题的简单项目:Dropbox 上的 ABCrash.zip

我的代码有问题吗?是否有允许我使用的解决方法ABPersonViewControllerDelegate

编辑:我刚刚在 Instruments 中运行了该项目,并且我的 personViewDelegate 即将发布。如果我在 UIViewController 中为 personViewDelegate 创建保留属性,应用程序不会崩溃。

0 投票
1 回答
138 浏览

ios - 是否可以让 ABPersonViewController 仅显示具有特定标签的多值属性?

假设,我有一个ABAddressBook具有有效工作地址和无效家庭地址的个人记录。
我想用一个ABPersonViewController让用户更正无效的地址。AnABPersonViewController具有displayedProperties允许指定显示哪些属性的属性。可以选择其中任何ABPropertyID一个kABPersonAddressProperty。如果这样做,将ABPersonViewController显示人员记录的所有地址。因此,用户没有指示应该纠正哪一个。
我想指定只显示一个带有特定标签的地址,比如说@"home"应该显示。这可能吗?

0 投票
1 回答
1418 浏览

ios - ABPersonViewController 没有导航栏

我正在编写一个基于 UIViewController 的应用程序。它没有导航栏。我的应用程序适用于地址簿。现在我使用两件事。

第一个(选择一个人):

第二个(选择手机):

它们在不同的函数中被调用。

在显示选择器的第一种情况下,它有一个带有一些按钮的导航栏:取消等。

在第二种情况下,另一个选择器没有导航栏。因此,如果我选择电话,那么它可以工作,但如果我想返回而不做选择 - 我没有“返回”或“取消”按钮。

在第二种情况下如何添加导航栏?

我尝试添加另一个导航控制器和视图控制器,如下所述

如何正确使用 ABPersonViewController 和 ABPeoplePickerNavigationController 来查看联系信息?

这会显示导航栏,但我的应用程序在此之后崩溃。

0 投票
1 回答
159 浏览

iphone - 处理 ABPersonViewController 内部的点击事件;不响应点击

我在我的程序中使用此功能在我的程序中显示联系人。但是,当我单击 abpersonview 中的字段时,什么也没有发生。

我的班级有一个 AbPersonView 的对象,下面是我的班级定义

我正在使用这个 Currentpersonview 作为

但是当我单击 ABPersonView 时,我无法对该功能进行任何响应.....

可能是什么问题??