问题标签 [cncontactstore]

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 回答
911 浏览

ios - CNContactStore NSPredicate 在一个字符串中给出 2 个联系人姓名

我正在开发一个适用于 ANCS 外部设备的应用程序。简而言之,设备会检测短信何时进入并将其告知应用程序。然后应用程序将能够通过网络服务 (Twilio) 将消息发送回 SMS 发送者。

当发送 SMS 的人在联系人中时,ANCS 设备只能看到此联系人的姓名,而不是电话号码本身。所以它只向应用程序提供这个可读的名称。如果联系人只有一个姓名(例如:“John”),则搜索联系人及其电话号码非常简单,如下所示:

但有时人们会为同一个人存储多个不同名字的联系人,例如当一条短信进来时,它可能会说它来自:“约翰或爸爸”——因为它对应于通讯录中的那 2 个联系人。 . (我们都必须在地址簿中处理此类重复)。有时在最坏的情况下可能有 3 个或更多的名字!

这就是我想来的地方:我们如何区分/制作谓词来检查这些联系人。简单的解决方案是将名称拆分为“或”字,但如果这是一个朝鲜语、德语、瑞典语等字怎么办?如果这个词属于一个联系人的名字,比如说:“屋顶上的约翰办公桌”,该怎么办?在最坏的情况下,iOS 会提供本地化的分隔符“或”吗?

有人遇到过这样的问题吗?

0 投票
2 回答
522 浏览

objective-c - iOS+9中如何从Contacts Framework中获取家乡城市?

我正在用 Objective C 中当前的 CNContact 框架替换我过时的 ABAdressBook 代码。我可以整理出大部分代码,除了 Home City 部分,所以让我们专注于此。目前我有这个代码:

该代码在 iOS 9+ 中已被弃用,因此使用新的联系人框架最接近家乡城市的是:

如何从 CNContact 中提取城市名称?

0 投票
2 回答
955 浏览

ios - 如何从 CNContactStore ios 获取 RecordID

这是我获取设备联系人并保存到MutableArray.

但我需要recordID单独获取所有联系人并保存到同一个数组中以供进一步使用。(例如,使用 删除联系人recordId)。

请帮助我,我被困了4天。

0 投票
1 回答
127 浏览

ios - 如何将联系人移动和复制到 Gmail 帐户 iOS

这是我获取设备联系人的代码,我想将这些联系人移动并复制到我的 Gmail 帐户。

0 投票
0 回答
91 浏览

ios - iOS:将 AddressBook 迁移到 Contact 框架的等价物

我正在从地址簿迁移到 iOS 9 中的联系人框架,遇到了一些问题,有类似经验的人可以分享一些意见吗?

  1. ABAddressBookCreateWithOptions

和创建新CNContactStore实例一样吗?

  1. ABRecordCopyCompositeName

联系框架中的等效方法是什么?从其文档中,它返回:

对于人员记录:这些属性的串联值:前缀、后缀、组织、名字和姓氏。

但是我找不到从联系人存储中获取相同信息的等效方法?

  1. ABAddressBookCopyLocalizedLabel

和打电话一样labeldValue.value.stringValue吗?

谢谢!

0 投票
0 回答
693 浏览

ios - CNContactStore , 名称.CNContactStoreDidChange

当 CNContactStore 发生更改的通知发布时,userinfo 具有三个键:CNNotificationOriginationExternallyCNNotificationSaveIdentifiersKeyCNNotificationSourcesKey

我找不到与这些键相关的信息类型的任何文档。任何指针?或者确定信息类型的策略?

0 投票
1 回答
4688 浏览

swift - 如何使用 CNContact.predicateForContacts 检索所有联系人?

所以我有这段代码可以正常工作,但前提是你在predicateForContacts参数中指定了一个名称。

我想检索地址簿上列出的所有人员的姓名。

0 投票
1 回答
881 浏览

ios - 如果应用程序在 iOS 上未激活,我如何知道联系人已被修改?

当联系人发生变化时,我需要运行一个函数。如果应用程序处于活动状态,您可以按照本文中的说明NotificationCenter执行此操作(有时当我向现有联系人添加新号码时它会起作用)。我如何知道应用程序启动后联系人(或多个联系人)已更改?

0 投票
0 回答
475 浏览

ios - 使用 Swift 3 获取所有没有关联名称的联系人

我想获取所有存储的没有名字的联系人。下面的方法帮助我搜索所有传递字符串的联系人。我试图传递空字符串来查找所有没有名字的联系人,但没有成功。

0 投票
1 回答
1055 浏览

swift - 如何使用 CNContactStore 从 CNContainer 中获取 CNGroup 数组?

我正在寻找一种方法来获取与联系人容器( CNContainer )相关的组列表( CNGroup)。当我使用谓词时,它失败了。

我正在使用的代码是

我从中得到一个错误,这对我来说没有意义。

行 groups = try contactStore.groups(matching: groupsPredicate) 导致错误。

[Accounts] 无法更新标识符为 47008233-A663-4A52-8487-9D7505847E29 的帐户,错误:Error Domain=ABAAddressBookErrorDomain Code=1002 "(null)"

这令人困惑,因为我没有更新任何帐户。

如果我将该行代码更改为 groups = try contactStore.groups(matching: nil) 我将获得所有容器的所有组。

如何创建一个谓词来返回属于 CNContactContainer 的所有 CNGroup?