问题标签 [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 回答
1196 浏览

ios - 删除 iOS 联系人组

有人尝试使用 iOS 9 联系人框架删除现有联系人组吗?

我初始化联系人存储并请求联系人组列表,这给了我一个CNGroup实例数组:

然后我在表格视图中显示这些组。当用户滑动表格视图单元格时,我想从联系人存储中删除相应的组。

但是, 的deleteGroup方法CNContactStore需要一个CNMutableGroup实例,而不是一个CNGroup. Xcode 给我一个错误:

显然,如果我尝试将CNGroup实例强制转换为CNMutableGroup

我在运行时崩溃:

我意识到这是因为CNGroup它是 的超类CNMutableGroup,但是我又看不到如何使用实例进行CNMutableGroup初始化。CNGroup

我已请求访问联系人框架。Xcode 7.3,iOS 9.2.1。

那么,关于如何删除联系人组的任何想法?

0 投票
1 回答
781 浏览

ios - 如何使用 CNContact 获取在 Objective-C 中最后修改的联系人?

我已经使用CNContact从设备获取所有联系人并进行了修改,但我不知道最后修改的是哪一个……那么我应该怎么做才能获取最后修改联系人的信息及其日期。

0 投票
2 回答
951 浏览

ios - iOS 9 - 获取的联系人返回空电话号码

任何想法为什么有些CNContacts人会带着空电话号码回来?

我不断得到这样的输出:

例如,当我从模拟器的内置联系人应用程序中获取联系人时,我得到的结果好坏参半: "John Appleseed" 确实返回了它的电话号码,但没有"Kate Bell"返回——即使她显然有电话号码。这很奇怪,因为我肯定会在我的 fetch 请求中使用。CNContactPhoneNumbersKey

这是我的代码:

正如我所提到的,输出显示有时获取的联系人会返回电话号码,有时则不会。电子邮件也是如此:有时会被退回,有时不会。

这既发生在模拟器中,也发生在我在 iPhone 上运行时。

知道这里可能会发生什么吗?

0 投票
2 回答
990 浏览

ios - CNContactStore 联系人记录计数

我需要获取用户设备上所有联系人的数量。ABAddressBookGetPersonCount 上的弃用消息说:

使用 CNContactFetchRequest 的获取结果计数,谓词 = nil

以下是我按照该指南编写的内容:

然而,这在性能方面看起来很糟糕。在不枚举 CNContact 对象的情况下,我还没有找到另一种获取计数的方法。我错过了什么吗?

先感谢您!

0 投票
1 回答
731 浏览

ios - 如何在 iOS 中获取与联系人不同的手机号码和家庭号码

我已经获取了联系号码,但我只得到一个号码,即家庭号码或手机号码。如何获取它们?有什么具体的方法吗?任何帮助将不胜感激。

0 投票
0 回答
937 浏览

objective-c - CNContactStore enumerateContactsWithFetchRequest“更新帐户失败”错误

我正在尝试从 El Capitan 获取所有联系人,并且我正在使用 Contacts API 来执行此操作。这是我获取联系人的方法:

没什么特别的,但我每次执行此方法后,5-10 秒后都会将以下错误输出到控制台:

[Accounts] Failed to update account with identifier 72360D58-3D7H-49FC-1086-QRCIEQ8A991A0, error: Error Domain=ABAddressBookErrorDomain Code=1002 "(null)"

我没有明确尝试更新任何帐户。如果我不包括enumerateContactsWithFetchRequest调用,则不会输出错误。我已经在具有不同联系人列表的多台不同 Mac 上尝试过此操作,但我得到了同样的错误。我还在检查 CNContactStore 授权状态是否CNAuthorizationStatusAuthorized在我调用之前getAllContacts

这真是令人沮丧,我开始怀疑这可能是联系人 API 中的错误?有没有其他人看到过这个问题,或者知道可能是什么原因造成的?谢谢您的帮助!

PS。我在错误声明中更改了帐户的 ID,以防安全问题:)

0 投票
2 回答
1151 浏览

ios - iOS9 Contacts Framework 从新保存的联系人中获取标识符

在保存请求之后,我需要一个新创建的联系人的标识符。用例:在我的应用程序中,用户创建一个新联系人并为他们提供一些属性(例如姓名、地址......),然后他可以保存联系人。此方案按方面工作。我的代码如下所示:

联系对象 (uiContact) 只是 CNContact 的一个包装器。在关闭完成中,我需要返回标识符,但此时我无法访问它们,因为他是在写入过程之后由系统创建的。一种解决方案可能是使用谓词获取新保存的 CNContact

但这在我看来有点不干净,因为这个联系人可能只有一个名字,而且可能存在多个。带有创建标识符的回调之类的东西会很好。但是没有。有没有其他方法可以解决这个问题?

0 投票
1 回答
3850 浏览

ios - Swift 3 / Xcode 8 - CNContact [访问]

我的代码在尝试请求访问CNContactStore. 如果这是一个测试版问题,有什么想法吗?

// 此控制台消息在崩溃时触发 - Messenger[836:1175155] [access] private

崩溃发生在这一行,甚至阻止打印错误!

提前致谢

0 投票
1 回答
111 浏览

ios - 应用程序无法访问电话簿

我苦苦挣扎了好几天,试图访问电话簿的姓名和号码,但都失败了。我使用以下代码,它在测试应用程序中成功运行,但是当我将它添加到您的项目工作中时,它不起作用。变量“granted”不断有一个值 - “false”,我收到错误“访问失败”。尽管如此,在隐私设置中没有显示滑块以允许访问......我早就找不到一个相当奇怪的行为的答案......

如有任何帮助,我将不胜感激!`

0 投票
0 回答
390 浏览

ios - CNContactstore - 在 iOS 9.3.4 和 9.3.5 中返回 null 的电话号码标签

我有一个奇怪的问题,我希望这是 Apple 的错误。让我知道这是否是 Apple 错误。

脚步

  • 打开拨号器
  • 拨打号码并使用 + 号作为号码添加到联系人
  • 使用联系人应用程序打开联系人并将 number2 添加到联系人

现在下面的代码返回

1号

2号

number1 标签将标签返回为 null

NLabeledValue:0x148306800:标识符=08C1A708-F5A2-4A65-AB08-024B3FCF79C4,标签=(空)