在 iOS 中以编程方式呼叫号码时显示联系人姓名

Posted

技术标签:

【中文标题】在 iOS 中以编程方式呼叫号码时显示联系人姓名【英文标题】:Display a contact name when calling a number programmatically in iOS 【发布时间】:2017-08-03 07:53:58 【问题描述】:

我需要在 ios 中以编程方式拨打电话号码时显示联系人姓名。

一种方法是,我们可以在拨号前使用“tel:\(number)”保存联系人姓名,但问题是iOS在访问联系人时需要权限提醒。

但是,当尝试从 Apple 地图呼叫时,不会显示相同的权限警报。所以,我想知道苹果地图在拨打电话号码时是如何工作的?或者我们该如何处理?

【问题讨论】:

Apple Maps 不需要许可,因为该应用程序是由 Apple 制作的。所有第三方应用程序在访问其设备上的任何数据之前都需要明确征求用户的许可 【参考方案1】:

您不能在呼叫时以编程方式显示姓名,因为 iOS 没有为您提供任何可以通过电话号码传递姓名的机制。唯一的方法是您必须首先将带有所需姓名的电话号码作为联系人保存到用户的电话中,然后以编程方式拨打电话。

现在关于权限对话,使用 MKMapView 并从显示地图的同一屏幕保存联系人没有问题。可能有一些问题导致权限对话框无法显示。

【讨论】:

感谢您的回复。 @SritharRajendran 没问题。

以上是关于在 iOS 中以编程方式呼叫号码时显示联系人姓名的主要内容,如果未能解决你的问题,请参考以下文章

如何在android中以编程方式将铃声添加到本机应用程序联系人

如何仅在使用联系人选择器存在电话号码时显示

使用电话号码获取联系人姓名

为啥 lint 在 Android Studio 中获取联系人列表名称和号码时显示“值 >= 1”?

在地图视图上单击图钉时显示联系人姓名

iOS 10:如何在应用程序处于后台时显示传入的 VOIP 呼叫通知?