iPhone:如何获取iPhone上所有通讯录的名称?

2024-02-07

一些用户的 iPhone 通讯录中有多个地址簿,这是由于他们与例如联系人建立的不同同步连接造成的。交换服务器。

如何获得所有这些不同的地址簿?我有兴趣获取保存这些不同地址簿的名称并访问他们的联系信息。

谢谢你!


ABAddressBookRef addressBook = ABAddressBookCreate();
CFArrayRef sourcesArray = ABAddressBookCopyArrayOfAllSources(addressBook);
for (CFIndex i = 0; i < CFArrayGetCount(sourcesArray); i++) {
    ABRecordRef source = (ABRecordRef)CFArrayGetValueAtIndex(sourcesArray, i);
    ABRecordID sourceID = ABRecordGetRecordID(source);
    CFNumberRef sourceType = (CFNumberRef)ABRecordCopyValue(source, kABSourceTypeProperty);
    CFStringRef sourceName = (CFStringRef)ABRecordCopyValue(source, kABSourceNameProperty);
    NSLog(@"source id=%d type=%d name=%@", sourceID, [(NSNumber *)sourceType intValue], sourceName);
    CFRelease(sourceType);
    if (sourceName != NULL) CFRelease(sourceName); // some source names are NULL
}
CFRelease(sourcesArray);
CFRelease(addressBook);

请注意,从 iOS 4 开始,并非所有源都返回名称。您可以根据类型提供自己的名称。

Use ABAddressBookCopyArrayOfAllPeopleInSource(addressBook, source)获取源中的条目。

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

iPhone:如何获取iPhone上所有通讯录的名称? 的相关文章

  • 如何从 iOS 应用程序检测不安全的 wifi 网络

    我想检测我的应用程序中是否存在不安全的 wifi 网络 是否有任何公共 iOS API 可以实现相同的目的 没有记录的 API 可以获取该信息 如果您的应用程序需要通过网络发送和接收敏感数据 您通常应该假设没有安全连接
  • AppDelegate 的变量用作全局变量不起作用

    我想使用我的 AppDelegate 来存储任何其他类都可以访问的对象 我已经像这样声明了这个 AppDelegate interface MyAppDelegate UIResponder
  • 为什么没有收到(UDP 多播)数据包?

    所以 我一直试图弄清楚为什么这不起作用 但我没有任何线索 我已经成功地从 iPhone 发送数据包并在 Mac 上接收它们 根据 tcpdump 我的 mac 正确发送数据包 此外 如果我在模拟器中运行它 它工作得很好 这让我相信这是一个网
  • CGContextSelectFont 等效项

    在 iOS 7 CGContext SelectFont 中已弃用 已弃用的消息说我必须使用 Core Text 但我不知道哪一个与这段代码完全相同 CGContextSelectFont context Helvetica kBarLab
  • 将语音添加到自定义 UIMenuController

    我创建了一个自定义UIMenuController in a UIWebView但它似乎摆脱了 说出选择 选项UIMenuController在那之后 所有测试设备上的 偏好设置 中都打开了发言选择选项 并且它出现在其他应用程序中 包括非
  • ios 11 - UIBarButtonItem 内的 UIButton 导致自动布局错误

    我在将 UIButton 添加到 UIBarButtonItem 时遇到了一个已知问题 我尝试按照建议添加自动布局约束堆栈溢出 https stackoverflow com a 46336639 505603但我收到如下所述的错误 UIB
  • 我如何从 iPhone 设备获取电子邮件历史记录..?

    friends 我想从我的 iPhone 访问电子邮件历史记录 并且还希望在收到新邮件时收到通知 如果可能的话 请向我提供源代码片段 Thanks 简而言之 使用任何已记录的 API 都是不可能的
  • 为每行 NSTableView 文本着色

    我有一个 NSTableView 它显示我拥有的对象数组 对于每个对象 行 我想根据在每个对象上运行的函数的结果来更改显示的文本的颜色 因此 例如表中存在于另一个列表 或其他一些要求 中的所有对象 我想以绿色文本显示它们 不存在的对象以红色
  • AVPlayer 不播放音频 - iOS 9,目标 - C

    我正在尝试从我的应用程序中的 URL 播放音频 iOS 8 中一切都按预期发生 模拟器和物理设备 对于 iOS 9 它可以在模拟器中运行 但在设备上 音频根本无法播放 出现流媒体 如果我单击播放 进度条还显示音频正在加载并播放 但没有声音
  • 使用 UItableViewCell 类型的表达式初始化“CustomCellView *”的指针类型不兼容

    你能帮我理解和 修复下面的错误吗 我不明白CustomCellView是一个子类UItableViewCell 代码已编译 但警告仍然存在 Incompatible pointer type initializing CustomCellV
  • 如果加载 dylib,垃圾收集工作队列会崩溃

    我们正在将应用程序从 10 6 移植到 10 8 我正在查看我们在应用程序中加载的 dylib 我面临着非常不寻常的崩溃垃圾收集工作队列并附有以下消息 malloc Thread suspend unable to suspend a th
  • 如何使用 SwiftUI 获取多个屏幕上的键盘高度并移动按钮

    以下代码获取键盘显示时的键盘高度 并将按钮移动键盘高度 在转换源 ContentView 和转换目标 SecibdContentView 处以相同的方式执行此移动 但按钮在转换目标处不移动 如何使按钮在多个屏幕上移动相同 import Sw
  • Objective C 中类别是如何实现的?

    作为一名程序员 我知道如何使用类别 但我很好奇它们是如何实现的 编译器是否将它们编译为对类替换方法 http developer apple com library mac documentation Cocoa Reference Obj
  • 与新 Apple Music 应用程序中相同的动态状态栏

    是否可以动态着色statusBar这是在新的苹果音乐应用程序 Edit iOS 8 4 中的新 Apple Music 应用程序具有此功能 打开应用程序 选择并播放歌曲 状态栏为白色 向下滑动播放器控制器以查看 我的音乐 控制器 它有黑色状
  • MKMapView 拦截/劫持 iPhone 触摸事件

    3 0 SDK 是否存在禁用实时缩放并拦截 MKMapView 放大手势的 bug 我有一些真正简单的代码 因此我可以检测点击事件 但有两个问题 放大手势始终被解释为缩小手势 所有缩放手势都不会实时更新地图视图 在 hitTest 中 如果
  • 使用 ZBarSDK 时 iPhone 相机失去自动对焦功能

    我正在开发一个应用程序 用户可以选择是否要扫描条形码或拍摄某物的照片 为了拍照 我正在使用UIImagePickerController照常 为了扫描条形码 我使用 ZbarSDK 1 2ZBarReaderViewController 拍
  • 如何在 iOS 上固定证书的公钥

    在提高我们正在开发的 iOS 应用程序的安全性时 我们发现需要对服务器的 SSL 证书 全部或部分 进行 PIN 操作以防止中间人攻击 尽管有多种方法可以做到这一点 但当您搜索此内容时 我只找到了固定整个证书的示例 这种做法会带来一个问题
  • 当 ViewController 从 UIStoryboard 实例化时,isMemberOfClass 返回 no

    我有一个 OCUnit 测试类 PatientTestViewControllerTests 下面是界面 interface PatientTestViewControllerTests SenTestCase property nonat
  • 子类 PFObject 上的 PFUser 属性

    我使用以下类 动态属性以及 m 文件中的 load 和 parseClassName 方法 对 PFObject 进行了子类化 interface DAOpponents PFObject
  • 从plist文件中读取数据

    我正在尝试为我的 iPhone 应用程序实现保存状态 我有一个名为 SaveData plist 的 plist 文件 我可以通过以下方式读取它 NSString pListPath2 bundle pathForResource Save

随机推荐

  • 使用Python实现并集查找

    所以这就是我想要做的 我有一个包含几个等价关系的列表 l 1 2 2 3 4 5 6 7 1 7 我想合并共享一个元素的集合 这是一个示例实现 def union lis lis set e for e in lis res while T
  • Jackson JSON反序列化:每行中的数组元素

    我在用Jackson https github com FasterXML jackson core并且想要漂亮地打印 JSON 以便数组中的每个元素都进入每一行 例如 foo bar blah 1 2 3 Setting Serializ
  • Kubernetes:如何正确设置 php-fpm 和 nginx 共享卷权限

    我是 kubernetes 的新手 目前我正在尝试在 kubernetes 上部署 laravel 应用程序 我设置了 1 个部署 yaml 其中包含 2 个容器 nginx 和 php fpm 和一个共享卷 这是完整的 yaml apiV
  • 使用 C# .net 挂载其他用户 hive

    我正在编写一个应用程序 它将为每个选定的用户写入一些注册表项 我想知道是否有正确的方法来安装另一个用户的配置单元以在其中写入 目前 我正在使用 REG LOAD 来安装每个配置单元 它很实用 但很混乱 任何想法 预先感谢您的回答 Cheer
  • 如何在 OCR 中区分斜线零和八 (0->8)

    我正在为我的 Android 应用程序使用 ML Kit for Firebase ReCalc 收据计算器 https play google com store apps details id info trekto receipts
  • 消息总线中的总线发现

    我正试图了解消息总线和国际奥委会 但我的脑子里充满了问题 这就是我想到的场景 三台电脑通过局域网连接 无法访问互联网 这三台计算机各自运行一个服务 并自动自我发现其他计算机 换句话说 它们各自在公共总线上发送消息 这表明了他们自己的身份 从
  • 如何使用 Activator.CreateInstance 创建一个在运行时 T 未知的 List

    我在用着Activator CreateInstance通过类型变量创建对象 在运行时未知 static dynamic CreateFoo Type t gt Activator CreateInstance t 显然 我还没有正确理解如
  • 在构建期间调用 setState() 或 markNeedsBuild()。该覆盖小部件无法标记为需要构建

    我尝试在 AbsorbPointer 特别是 GestureDetector onPanEnd 调用的 fling 函数的 SetState 内使用 showGeneralDialog 编写动画对话框脚本 我附加了简单的代码 我尝试用未来的
  • std::atoll 与 VC++

    我一直在使用std atoll from cstdlib将字符串转换为int64 t与海湾合作委员会 该功能似乎在 Windows 工具链上不可用 使用 Visual Studio Express 2010 最好的选择是什么 我也有兴趣转换
  • 如何从 apt-get 下载软件包而不安装它? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我有一台电脑 没有NIC http en wikipedia org wiki Network interface controller 我想通过 U
  • 如何简化这些冗余的 C++ 代码?

    现有两个类 一个是SrcField它返回具体类型值 另一个是联合DSTField 定义相应的数据类型 class SrcField public signed char GetInt8 unsigned char GetUInt8 shor
  • 使用 SQL 在有向图中查找循环

    已经有几个关于查找循环的问题 但我没有在 SQL 中找到解决方案 首选 MSSQL 这些表将是 Node NodeID INT 和 Edge EdgeID INT NodeID1 INT NodeID2 INT 在有向图中查找循环的性能良好
  • ggadjustedcurves survminer if (xi > xj) 1L else -1L 错误

    我正在尝试使用 survminer 通过 ggadjustedcurves 创建调整后的生存曲线 我的代码如下 adjustedcurve lt coxph Surv time DeathTxCensor deadORtx 1 strata
  • 修复协议 Ecto.Queryable 未实现错误

    我刚开始使用 Ecto 和 Elixir 并且遇到了一个无法解释的错误 我的代码看起来就像 Ecto 自述文件中的示例 这是我的 Ecto 模型和查询模块 defmodule Registration do use Ecto Model s
  • 警报对话框肯定按钮问题

    我在单击按钮时启动了警报对话框 它有用户名和密码 在警报对话框触发后 如果您按 确定 按钮 它会强制关闭并关闭应用程序 任何帮助将不胜感激 public class MainActivity extends Activity final C
  • 如何使用 SAX 解析器解析 XML

    我正在关注这个tutorial http www anddev org parsing xml from the net using the saxparser t353 html 它工作得很好 但我希望它返回一个包含所有字符串的数组 而不
  • 如何制作便携式 Jupyter 幻灯片

    如何使 Jupyter 幻灯片放映变得便携 我可以在本地提供幻灯片放映 但我无法将其发送给任何人并让它与所有图像 幻灯片动画功能等一起使用 我在用jupyter nbconver my notebook ipynb to slides并获取
  • IE 6 与位置:固定

    位置 已修复 不适用于 Internet Explorer 6 我无法真正理解在 google 上找到的修复程序 我需要它在 IE6 IE7 IE8 和 FireFox 3 0 中工作
  • 在react-admin中自动完成带有两个字段的输入?

    我正在使用react admin创建一个网站 并使用以下代码创建一个包含id和描述的AutocompleteInput 以便您可以搜索两者并且它会过滤选项 const choices number 102 description Furni
  • iPhone:如何获取iPhone上所有通讯录的名称?

    一些用户的 iPhone 通讯录中有多个地址簿 这是由于他们与例如联系人建立的不同同步连接造成的 交换服务器 如何获得所有这些不同的地址簿 我有兴趣获取保存这些不同地址簿的名称并访问他们的联系信息 谢谢你 ABAddressBookRef