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

uitableview - 如何加载数组中的所有联系人ios9

AddressBookapi 在 ios 9 中已弃用。我想将所有联系人加载到数组中并将其显示在UITableView. 我不想使用 iOS 默认设置ContactPicker,因为我必须在显示时进行一些自定义。如何将所有联系人列表加载到数组中以供进一步使用?

0 投票
2 回答
6046 浏览

formatting - CNContactFormatter 需要哪些键?

我正在尝试使用新的CNContactFormatter. 看起来,我没有获取联系人的所有需要​​的名称属性。

有谁知道需要哪些?我尝试在其他几个没有运气的情况下获取以下内容:

CNContactFomatter类参考获取方法的文档都没有提供任何线索。

谢谢!

0 投票
0 回答
82 浏览

swift - iOS9:ContactFramework:查询联系人数量

如何查询iOS9通讯录中的联系人数量?在 ABAdressbook 中,有 ABAddressBookGetPersonCount。iOS9中是否有等价物?

我正在将联系人导入我的应用程序,浏览所有组等。我想要的是显示导入的进度指示器。为此,我需要联系人总数。

0 投票
0 回答
540 浏览

ios - CNContactStore executeSaveRequest 失败并出现错误 (CSIndexErrorDomain Code=-1005)

尝试使用以下代码在 XCode 7.1 iPad 2 模拟器中执行 SaveRequest 时,我得到一个 CSIndexErrorDomain Code=-1005:

我已经读到这是一个 CoreSpotlight 错误并且 CoreSpotlight 在 iPad 上不可用,那么为什么 iOS 9 联系人框架试图运行 CoreSpotlight API 调用?

在 iOS 9 中保存联系人时如何避免此错误,或者如何特别捕获它,而不是一般的包罗万象?

0 投票
1 回答
2073 浏览

ios - 使用联系人框架创建新组,CNErrorDomain Code = 2

我尝试使用联系人框架创建和保存一个组。首先,用户授权应用程序访问联系人。显示了一个视图控制器,并带有一个+按钮,用户显示一个带有文本字段的警报视图。

用户键入他想要的组名并单击警报视图的按钮(保存)。

这是保存新组的代码。组名可用,但无论如何都无法保存该组:

下一个奇怪的事情是:为什么保存请求试图在最后保存这个
带有标识符:ABGroup的组?

错误包含有关CNInvalidRecords.
我只使用联系人框架。
为什么会这样?

有什么解决方案吗?

0 投票
2 回答
3791 浏览

ios - CNContactStore 上的电话号码谓词

我正在用 Swift 构建一个应用程序。我想使用phoneNumber(作为字符串)进行谓词,并从CNContactStore. 我可以通过以下方式相当容易地制作名称谓词:

但是有没有办法对PhoneNumber. 我当然可以获取整个CNContactStore,遍历它并检索联系人。但我想知道是否有更好的方法。

0 投票
1 回答
3654 浏览

ios - 如何使用具有长联系人列表的 Apple 联系人框架更快地获取 iOS 联系人?

我正在使用CNContacts在我的 iOS 设备中获取电话簿联系人。

当我的手机中有少量联系人(比如 50 个)时,很容易获取联系人。

但是,当我有很多联系人(比如 500-700)时,它会挂起/等待很长时间才能将这些联系人从 iOS 电话簿中提取到我的应用程序数组中。

以前我使用https://github.com/Alterplay/APAddressBook,它是以前 Apple 框架的快速库,但现在我使用的是最新的 Apple 框架。

我获取联系人的代码是....

我试图分批获取 20 个联系人,每次都重新加载表格。但是在这里它不能在调度线程中重新加载,或者只是崩溃。

如何改进此代码以快速获取联系人?

谢谢。

0 投票
3 回答
2605 浏览

ios - CNContactStoreDidChangeNotification 被多次触发

当应用程序处于后台状态时,我能够观察到CNContactStoreDidChangeNotification联系人数据库何时更改。我很确定只有一名观察者被添加到NSNotificationCenter. 问题是NSNotificationCenter发布多次(2、3、5 甚至更多次),即使我只添加一个新联系人。问题出在哪里?

0 投票
2 回答
1671 浏览

xcode - 如何强制一个新的 CNContact 进入本地 CNContainer?

我正在编写一个应用程序,它使用 CNContactStore 将通过 REST 和 JSON 获取的联系信息存储到容器中。我想将这些联系人与任何其他帐户分开,并且仅存储在设备本地,但本地存储不存在,我找不到任何方法来创建/激活一个?

我可以使用以下方法获取默认商店的 ID(在设备上配置,例如 iCloud):

...而且我可以(理论上)识别一个像这样的本地容器——如果确实存在的话:

但是不存在本地容器。关于如何将我的联系人存储在本地或新的单独容器中的任何想法?

0 投票
1 回答
938 浏览

ios - IOS CNContactStore executeSaveRequest 失败,CNErrorDomain Code=500

尝试保存已填充社交资料数据的联系人时遇到以下错误:这在 iOS 9.2 中可见

Domain=CNErrorDomain,Code=500 "(null)" UserInfo={CNKeyPaths=(SocialProfiles), NSUnderlyingError=0x1612681f0{Error Domain=ABAddressBookErrorDomain Code=0 "(null)"}}

我正在序列化一个已经存在于不同手机通讯录中的联系人,并且当我查看 Facebook 社交个人资料通知的属性时,UserIdentity 属性为nil( null)。

我不确定我是否只是缺少有关其工作原理的一些知识,这是预期的行为,使用问题还是缺陷?