iOS 获取数组中选定联系人的电子邮件地址

2024-02-27

我想做的就是向用户展示人员选择器,让他选择他想要的所有联系人,最后将所有这些联系人的电子邮件地址放入数组中。 最好的办法是只向用户显示带有电子邮件的联系人。

到目前为止,我唯一能做的就是向人员选择器提供以下代码:

ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init];
     picker.peoplePickerDelegate = self;
     [self presentModalViewController:picker animated:YES];

然后我尝试使用此代码来获取所选联系人的电子邮件:

- (BOOL)peoplePickerNavigationController: (ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person {

ABMultiValueRef multi = ABRecordCopyValue(person, kABPersonEmailProperty);
[email addObject:(__bridge NSString*)ABMultiValueCopyValueAtIndex(multi, 0)];
[self dismissModalViewControllerAnimated:YES];

return YES;
}

但是,一旦我选择了联系人,选择器就会消失,所以我不知道如何继续。 此外,当我选择联系人时,我会在控制台中看到以下内容:

"Unbalanced calls to begin/end appearance transitions for 
<ABMembersViewController: 0xa1618c0>."

任何帮助,将不胜感激。


我不确定您是否解决了您的问题,但如果其他人发现这篇文章也许会对他们有所帮助。 我从 ABPeoplePickerNavigationController 收到电子邮件所做的就是删除

[self dismissModalViewControllerAnimated:YES];

from

- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person;

然后我用它来获取电子邮件并关闭控制器

- (BOOL)peoplePickerNavigationController(ABPeoplePickerNavigationController*)peoplePicker
  shouldContinueAfterSelectingPerson:(ABRecordRef)person
                            property:(ABPropertyID)property
                          identifier:(ABMultiValueIdentifier)identifier
{
    if (kABPersonEmailProperty == property)
    {
        ABMultiValueRef multi = ABRecordCopyValue(person, kABPersonEmailProperty);
        NSString *email = (__bridge NSString *)ABMultiValueCopyValueAtIndex(multi, 0);
        NSLog(@"email: %@", email);
        [self dismissModalViewControllerAnimated:YES];
        return NO;
    }
    return YES;
}

它允许用户选择特定的电子邮件并在没有任何错误的情况下关闭控制器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS 获取数组中选定联系人的电子邮件地址 的相关文章

  • IOS 无法从 Google Drive 获取文件

    这是我的代码 GTLQueryDrive query GTLQueryDrive queryForFilesList query q NSString stringWithFormat IN parents root self driveS
  • 修改多张照片时只有一个 iOS 权限对话框

    我的应用程序允许用户从相机胶卷中选择多个图像并对这些图像应用编辑 但是 它会提示用户获得每个图像编辑的权限 编辑用户图像时是否可以只显示一个权限对话框 如果是 我该如何将我的编辑分组为一项权限 这是我的应用程序的屏幕截图 我在应用商店中发现
  • 从iOS iphone中相机返回的图像中读取GPS数据

    我需要获取使用 iOS 设备相机拍摄的图像的 GPS 坐标 我不关心相机胶卷图像 只关心使用 UIImagePickerController SourceType Camera 拍摄的图像 我读过很多 stackoverflow 答案 比如
  • exc_bad_access 于 [NSDate timeIntervalSinceReferenceDate]

    我的行为很奇怪 NSDate timeIntervalSinceReferenceDate 我有以下功能 void insertRow NSTimeInterval timeNow NSDate timeIntervalSinceRefer
  • 管理 iOS 中的布局

    我是新来的iOS开发方面 我对 JAVA Swing 和 Windows 应用程序有扎实的背景 我想学习如何进行布局iOS 我猜iOS没有 布局管理器 就像 Java Swing 中的那样 发展的唯一出路UI是否指定每个控制器的尺寸和位置
  • 扩展中的 Swift 覆盖函数

    如果我有课 class Spaceship
  • Swift - 带循环的多个链 http 请求

    两天以来 我感觉我正在搜索整个网络来解决多个 http 请求的问题 所以我的工作流程如下所示 将图像上传到服务器 响应 XML 格式和任务 ID 使用任务 ID 向服务器发出 GET 请求 以检查该任务的状态 响应 XML 格式 其中状态可
  • 不确定如何在使用故事板时正确子类化 UIApplication

    我想在 X 次用户不活动 没有触发触摸事件 后返回故事板的初始视图控制器 经过一些研究 我发现检测不活动的最常见方法是触发 NSTimer 并在事件触发时重置间隔 为了检测触发的事件 我们在 UIApplication 的子类中重写 UIA
  • iOS Swift 3 以编程方式将文件复制到 iCloud Drive

    在我的我有文档下载选项 当用户从我的应用程序下载文档时 我需要将其存储到已安装在用户手机中的用户 iCloud Drive 我已在 Web 和 Xcode 中配置了 iCloud 但问题是我无法将文件正确复制到 iCloud Drive 文
  • 如何从 iOS 本机共享功能中删除某些选项? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在开发一款 iOS 游戏 想知道如何删除 iOS 在自动共享时提供的一些本机选项 例如 分配给联系人 和 打印 我对此做了很多研究 我
  • NSString 到 TimeInterval

    我有一个 NSString 的格式00 00 00 00最初获得自 dateFormatter setDateFormat HH mm ss SS 我如何获取该字符串并将其转换为 TimeInterval 如果您 100 绝对肯定这种格式永
  • iPhone Objective-C 以编程方式将范围按钮添加到 UISearchBar

    我目前这段代码用于创建 UISearchBar 改编自之前的 stackoverflow 示例 UISearchBar searchBar UISearchBar alloc initWithFrame CGRectZero searchB
  • Objective-c:如何检测视图上的双击?

    我正在开发一个应用程序 其中视图上有多个控件 但我想在用户双击视图时启用它们 您可以以双击为例 但在设备中我想在双击时捕获事件 您需要添加一个UITapGestureRecognizer到您想要点击的视图 像这样 void viewDidL
  • Sqlite3 查询在 iOS 8.2 下变得非常慢

    我制作了一个可以在应用程序内使用 sqlite 数据库的应用程序 在 iOS 8 2 之前 它工作得很好 但更新后 查询方法的工作速度慢了大约 100 倍 我试图查找有关此问题的信息 但尚未找到任何信息 有人有同样的经历吗 这是我的方法 到
  • 在 Xcode 中查看 TestFlight 崩溃日志

    我已将我的应用程序发送给 TestFlight 的一些外部测试人员 仅当您从 testFlight 安装应用程序时才会出现问题 如果我从 Xcode 安装它 一切都很好 因此 我必须从 iPhone 中删除我的应用程序 并将自己添加为外部测
  • 在 UIScrollView Swift 中禁用垂直滚动

    不要将此问题标记为重复 我读了很多问题 但没有找到问题的答案 我的问题如下 我有一个UIScrollView它应该只水平滚动 这里它垂直滚动 20px 奇怪的事实 它似乎与状态栏的高度相同 我尝试打印内容大小 y 偏移量和高度UIScrol
  • 如何在 iOS 上反转使用 CoreGraphics 渲染的 pdf 上的文本颜色?

    我正在使用开源 PDF 查看库 VFR PDF Readerhttps github com vfr Reader https github com vfr Reader 我正在尝试实现 夜间模式 或黑色背景与白色文本 我可以将背景设置为我
  • 通过更改其优先级值来动画布局约束

    我有一个包含大量文本的标签 有一个用于折叠和展开标签高度的切换开关 此处名为 里拉套房 所以它会截断文本的结尾 我精心设置了垂直内容拥抱优先级和压缩阻力 因此内在尺寸比压缩阻力具有更高的优先级 高度限制 直接位于标签右侧的可选约束 设置为常
  • iPhone 应用程序在 iPhone 4 尺寸下运行,更新后出现黑条

    此前 该应用程序支持 iPhone 5s SE 屏幕和 iPhone 6 8 屏幕 不包括加大尺寸 这是使用启动图像完成的 因此 在 Plus 尺寸设备和 iPhone X 设备上 它会在应用程序上方和下方显示黑条 然后我们发布了一个更新
  • 如何从我的 appDelegate 访问我的 viewController? iOS系统

    我有一个在 xCode 中创建为 基于视图的应用程序 的 iOS 应用程序 我只有一个 viewController 但它会自动显示 而且我没有看到任何将它与我的 appDelegate 关联的代码 我需要将数据从 appDelegate

随机推荐

  • 无法从 Cherrypy 将日期时间序列化为 JSON

    我正在尝试发送记录列表以响应 Ajax 查询 这很有效 除非当我的进程因错误而失败时结果包含日期时间字段datetime date 2011 11 1 is not JSON serializable 我试图将我找到的答案结合起来类似的问题
  • 关闭 Google 地图本地点

    我目前有一个网络应用程序 它使用地图 API 绘制兴趣点 但是我注意到一个小烦恼 如果可能的话我想将其关闭 现在 当谷歌地图加载时 它将显示兴趣点和当地商业 市政厅 必胜客等 我不介意标记它们的措辞 但我不希望这些点可点击 就好像使用触摸屏
  • CSS 动画延迟不起作用

    尝试淡入一个 div 7 秒后 淡入另一个 div 我一生都无法弄清楚为什么它不起作用 动画本身可以工作 淡入 淡出动画 但我需要 正在进行的 div 在设定的秒数后淡入 有人知道如何正确执行此操作吗 coming width 320px
  • Android:使用 onClick 更改 ListView 行中的按钮背景

    我的行包含一个按钮 该按钮在我的适配器的 getView 中设置了自己的单击侦听器 我可以使用行父级中的 android descendantFocusability blocksDescendants 来区分按钮点击和实际行项目点击 当我
  • 如何从 pandas 的第一个元素开始重新采样?

    我正在对下表 数据进行重新采样 Timestamp L x L y L a R x R y R a 2403950 621 3 461 3 313 623 3 461 8 260 2403954 622 5 461 3 312 623 3
  • Python 文档字符串中的字符串操作

    我一直在尝试做以下事情 def history dependent simulate self node iterations 1 args kwargs For history dependent simulations only sel
  • Windows 版 Git 不执行我的 .bashrc 文件

    我刚刚在 Windows 7 上安装了 Git for Windows 2 5 0 看来我的 bashrc当我运行 Git Bash 时 文件没有被执行 我像这样创建了文件 Administrator HintTech Dev MINGW6
  • 如何在 Visual Studio 2010 中查看二维数组的所有元素?

    我正在 Visual Studio 2010 中调试我的 C 代码 并希望查看数组的内容 例如 Q 它的大小为 17x17 当我插入断点并尝试调试时 我只看到变量 Q 当我将其带到 观看 屏幕并将其重命名为 Q 17 时 我看到下一级 但我
  • 从解析中删除类/列时出现问题

    我试图从解析中删除一些不需要的列 我不断收到以下错误 错误 类名 Session 必须以字母解析开头 不确定为什么会发生这种情况 或者这是否是一个错误 当我删除一个类时 我也会收到此错误 有没有解决的办法 UPDATE 我刚刚尝试过 我能够
  • 如何使用 FFMPEG 驱动程序使 opencv 工作

    我的 linuxbox 上有一个摄像头 它运行良好 ls al dev video crw rw 1 root video 81 0 janv 8 16 13 dev video0 crw rw 1 root video 81 1 janv
  • Android获取JSON键值

    我对解析特定的问题有疑问json细绳 我没有找到任何对我的情况有帮助的东西 我有这个 json AM country name Armenia data 180854 time published 2012 03 30 13 31 39 t
  • 使用 C API 访问 NumPy 数组的视图

    在我用 C 编写的 Python 扩展模块中 我使用以下代码片段将 NumPy 数组转换为犰狳 http arma sourceforge net 用于代码的 C 部分的数组 static arma mat convertPyArrayTo
  • Django 查询集按 ISO 周数过滤

    我有一个模型 其中包含datefield 我正在尝试获取包含本周 从星期一开始 的模型的查询集 所以自从姜戈datefield包含简单的datetime date我假设使用的模型进行过滤 isocalendar 从逻辑上讲 这正是我想要的
  • Date.js parseExact() 当作为数组传入时不解析 4 位数年份

    我是否在 date js 中遗漏了 Date parseExact 的某些内容 根据api文档 我应该能够做到这一点 Date parseExact 10 15 2004 M d yyyy MMMM d yyyy The Date of 1
  • 如何链接 TextView 中的文本以打开网址

    我花了一个多小时查看了大量示例 但没有一个实际上适用于在 TextView 中设置文本以链接到 Web URL 示例代码 text8 TextView findViewById R id textView4 text8 setMovemen
  • 在包含字符串列表的系列上使用 Pandas 字符串方法“包含”

    给定一个简单的 Pandas 系列 其中包含一些可由多个句子组成的字符串 In import pandas as pd s pd Series This is a long text It has multiple sentences Do
  • 将 JSON 对象传递给 MVC 控制器时 string.empty 转换为 null

    我正在将一个对象从客户端传递到服务器 在此过程中 表示为 string empty 的对象属性将转换为 null 我想知道当对象类型支持 string empty 时如何防止这种情况 console log DataToPost dataT
  • 常见爬行-获取WARC文件

    我想使用常见的爬网检索网页 但我迷路了 我想要获取 www example com 的 warc 文件 我看到这个链接 生成以下 json urlkey com example 时间戳 20170820000102 mime text ht
  • 在 Safari iPhone 上的新选项卡中打开链接

    我有一个网站可以帮助人们为 Instagram 帖子创建标题并评估主题标签 其中一项功能非常简单 只需将主题标签链接到 Instagram 即可查看它们包含哪些类型的图像 因为我不希望他们刚刚输入和评估的输入消失 所以我使用 target
  • iOS 获取数组中选定联系人的电子邮件地址

    我想做的就是向用户展示人员选择器 让他选择他想要的所有联系人 最后将所有这些联系人的电子邮件地址放入数组中 最好的办法是只向用户显示带有电子邮件的联系人 到目前为止 我唯一能做的就是向人员选择器提供以下代码 ABPeoplePickerNa