gpt4 book ai didi

ios - iOS9联系人框架缺少电话号码标签?

转载 作者:行者123 更新时间:2023-12-01 18:45:43 25 4
gpt4 key购买 nike

我正在实现一个仅支持iOS9 +的新iOS应用程序。因此,我们正在使用新的联系人框架来访问存储在设备上的联系人的电话号码。

CNPhoneNumber定义了不同类型电话号码的标签,但是与实际的iOS联系人屏幕相比,它包含的类型列表要小得多。例如,在我的iPhone上,我可以为联系人添加“工作”类型以外的号码,但SDK中没有相应的CNLabelPhoneNumberWork标签。我是在错误的地方看吗,还是只是这样?除非我将Apple的“$ !! $”字符串硬编码到我的应用程序中,否则联系人可能会有很多无法识别的数字?

据我所知,CNPhoneNumber仅提供以下标签:

@available(iOS 9.0, *)
public let CNLabelPhoneNumberiPhone: String
@available(iOS 9.0, *)
public let CNLabelPhoneNumberMobile: String
@available(iOS 9.0, *)
public let CNLabelPhoneNumberMain: String
@available(iOS 9.0, *)
public let CNLabelPhoneNumberHomeFax: String
@available(iOS 9.0, *)
public let CNLabelPhoneNumberWorkFax: String
@available(iOS 9.0, *)
public let CNLabelPhoneNumberOtherFax: String
@available(iOS 9.0, *)
public let CNLabelPhoneNumberPager: String

当我向联系人添加号码时,可用类型的列表会更长。

最佳答案

从某种意义上说,这些应该是电话号码标签的唯一预定义标签,您是正确的。

但是,如Apple文档中所述:电话号码标签

这些常数是预定义的标签,可以在具有CNLabeledValue值的CNPhoneNumber对象中使用来使用

您仍然会从NSString* enum属性获得CNLabeledValue(注意而不是 label),并且该属性将包含“联系人”中显示的内容。因此,请做好准备,您还可能会获得由“自定义标签”选项创建的奇数输入用户。

对于“除非我将Apple的“$ !! $”字符串硬编码到我的应用程序中,否则联系人可能会有很多无法识别的数字?“

答案将是
phoneNumbersCNContact:

此属性是CNLabeledValue对象的数组,每个对象都有一个标签和一个CNPhoneNumber值。

当您进行迭代时,.label会给您类似“工作”的信息,而.value会给您想要的实际数字。

编辑:

有趣的是,在Contacts Framework Reference中,出现了CNLabelHomeCNLabelWork,它们在CNLabeledValue类中似乎是“通用标签”常量。

关于ios - iOS9联系人框架缺少电话号码标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36337303/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com