问题标签 [abmultivalue]

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 投票
0 回答
295 浏览

ios - ABMultiValueCopyLabelAtIndex 返回 null,但标签在通讯录中可见

我正在尝试读取通讯簿中特定即时消息服务的标签。在这种情况下,我正在手机上使用 Facebook Messenger 服务进行测试。该联系人已链接联系人,但只有一个记录的即时消息服务。

我试图找到有关如何ABMultiValueCopyLabelAtIndex工作的信息,但我发现它“可能返回 null”。如果通讯簿中没有可见的标签,那么是的,我明白为什么它会返回 null。但是在这种情况下,有一个标签,它在人员视图中显示为“Facebook Messenger”。我仍然为空,为什么?

0 投票
1 回答
134 浏览

ios - “二进制运算符 '<' 不能应用于两个 CFIndex 操作数” - 从 ABMultiValue(通讯簿)中选择电话号码

我正在尝试使用 AddressBook 和 AddressBookUI 来显示地址簿的视图,然后用户可以在其中点击联系人,然后点击电话号码,并且应用程序会收到电话号码。当我遍历 ABMultiValue 以查找具有所选标识符的条目时遇到问题 - 错误“ ”在循环行(第 13 行)Binary operator '<' cannot be applied to two CFIndex operands上引发。for

我已经粘贴了下面的代码 - 有没有人知道为什么会发生这种情况/我可以做些什么来解决它?谢谢!

0 投票
1 回答
421 浏览

ios - Swift:设置 ABRecord 的地址属性

我查看了此处的 SE 问题[Avinash 的回答] 和此处的 Apple 资源[第 18 页底部和第 19 页顶部],试图为ABRecord. 我尽力将它们从 Objective-C 翻译过来,但显然我在某处犯了错误,因为在线上let dict = CFDictionaryCreate(kCFAllocatorDefault, keys, values, 5, &kCFCopyStringDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks)我得到了 error Cannot assign to immutable value of type 'CFDictionaryValueCallBacks'

这是我的代码:

0 投票
1 回答
52 浏览

ios - 排序 ABMultiValueRef(kABPersonPhoneProperty)

好吧,为了获得电话属性ABAddressBook,我使用了一个循环。

编辑:我试过的代码:

但我不认为这是最好的选择..?

也许是这样的:

当联系人有多个电话号码值时,我可以用ABMultiValueGetCount(phones).

好吧,现在举个例子:

ABAddressBook联系人 « Peter » 在(NSLog电话)中有 5 个电话号码:

02 35 00 00 00

07 00 00 00 00

+1(919)949-8234

06 00 00 00 00

9009498923

我想对这些数字进行排序,并且只存储一个NSString

如果数字以 07 开头 -> 接受。(分配给NSString

如果数字以 06 开头 —> 接受。(分配给NSString

如果其他号码 -> 不分配。

如果他们是两个电话号码:一个是 06,一个是 07,取最后一个注册ABAddressBook的号码(或者如果这不可能/太复杂,取 07 开头的号码)。

我想为ABAddressBook. 并且每个联系人只有一个号码(如果号码不是以 06 或 07 开头,则为 0)。

在我的例子中:

彼得有这个号码:07 00 00 00 00