问题标签 [cncontactviewcontroller]

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 投票
2 回答
192 浏览

ios - CNContactViewController 忽略allowsActions

CNContactViewController忽略allowsActions。提供 SMS 和 Mail 操作:

在此处输入图像描述

contactVC.allowsActions = false.


我在以下位置设置 CNContactViewController viewDidLoad()

为什么 CNContactViewController 用 显示动作contactVC.allowsActions = false

0 投票
0 回答
80 浏览

ios - 无法更改 CNContactViewController forNewContact 中的个人资料图片,当联系人已存在于电话联系人中时

我正在尝试从我的应用程序中添加一个带有个人资料图片的新联系人,该联系人号码已经存在于我的手机电话簿和其他个人资料图片中。CNContactViewController 没有显示我在 CNMutableContact 中形成的图像。

它仅显示电话簿联系人中存在的图像,并且无法更改 CNContactViewController forNewContact 中的个人资料图片,当联系人已存在于电话联系人中时。

创建新联系人:

呈现 CNContactViewController:

0 投票
0 回答
169 浏览

swift - 扩展或继承 CNContactViewController 以通过检查进行多选

我希望能够通过单个联系人拉起 CNContactViewController。在此页面中,我想添加多选功能,以便我可以选择多个属性,并在用户选择每个属性时突出显示或在每个属性旁边打勾。

  1. 扩展 CNContactViewController 或继承它会更好吗?- 我的假设是子类化,因为这将是一个特定的用例,我不需要在应用程序中扩展所有 CNContactViewControllers

  2. 我将如何添加复选标记/突出显示功能?

  3. 我目前可以展示视图控制器,但我什至不确定它现在是表格视图还是容器视图。

任何帮助是极大的赞赏。

0 投票
0 回答
65 浏览

swift - 无法在 swift 中使用 CNContactViewController 使用联系人的编辑功能

我正在 swift 中使用 ContactUI。我正在使用此代码列出联系人

当我选择特定屏幕时,会弹出包含所选联系人详细信息的屏幕。但“编辑”选项在此屏幕上不可用。现在我想知道在这种情况下如何激活内置的编辑功能。

0 投票
0 回答
52 浏览

swift - 容器视图中的 CNContactPickerController

我对 Swift 很陌生,所以我不确定我是否只是没有研究正确的术语,但我正在努力使用 CNContactPickerViewController()。

目前,我让控制器创建一个新屏幕(我理解它为什么这样做)。当我选择联系人并点击“完成”时,我可以成功地从列表中提取那些特定的联系人(名字、姓氏和电话号码)。我正在使用以下代码来显示控制器:

我在 XCode 中使用以下变量名设置了一个容器视图:

我想将联系人控制器放在容器视图中,以便它出现在现有控制器中。此容器视图在视图中具有以下约束:

0 投票
0 回答
168 浏览

ios - 如何从“在应用程序中找到 Siri”部分选择联系人?

我正在使用带有电话号码选择属性的 CNContactPickerViewController:

联系部分

但它无法选择联系表格“在应用程序中找到 Siri”部分。我该如何启用它?

带有电话号码的 Siri 联系人

0 投票
1 回答
164 浏览

ios - iOS 联系人 - 在没有权限(或权限 UI)的情况下保存单个联系人

CNAuthorizationStatus和相关文档似乎建议您需要获得读取或保存到 CNContactStore 的权限。(而且我已经阅读了大多数基于 CNContact 的问题,它们在该主题上非常一致)。

但我发现一个应用程序有一个“保存联系人”按钮,并显示一个看起来像CNContactViewController的联系人,当我按下保存时,该应用程序确实保存到联系人,但没有任何权限对话框(我从来没有给它权限) .

我卸载,重新安装并再次保存联系人,以确认。

有没有人这样做过?我在 iOS 11.4.1 上。

0 投票
1 回答
426 浏览

ios - ContactsUI:如何在 iOS 上创建新联系人时仅显示特定字段?

目标是在 iOS 上添加新联系人时仅显示某些字段。

例如,假设您只想显示和编辑联系人的地址、电话号码和名字。

下面的代码不起作用。所有字段仍然出现。

将此视图控制器放入项目中,您可以看到所有联系人字段仍然显示,尽管使用displayedPropertyKeys.

你会怎么做?

0 投票
1 回答
958 浏览

ios - 取消按钮对 CNContactViewController 无效

这不是这个问题这个问题的欺骗,因为这些答案不起作用。

CNContactViewController出于某种原因,取消按钮在 UINavigationController 中显示时不起作用。

重现步骤:

  1. 复制此视图控制器。
  2. 点击取消按钮。

预期行为:

CNContactViewController解雇了。

实际行为:

什么都没发生。委托函数内的断点永远不会被调用。

0 投票
1 回答
201 浏览

ios - CNContactViewController 与 CallKit 一起处理 CNContactPhoneNumbersKey

我有一个使用 CallKit 集成的 VoIP 应用程序。

在我的联系人屏幕中,我有UITableView所有设备联系人,当用户按下联系人时,我会填充CNContactViewController

这会毫无问题地填充联系人详细信息视图。

我想捕捉用户对电话号码按下的操作并执行 VoIP 呼叫,因此我使用以下代码:

结果,当我按下电话项目元素启动 2 个电话时!一个呼叫来自我的应用程序 (VoIP),另一个来自系统 (SIM/GSM)。

我尝试了什么:

  • 添加了上面的代码来处理CNContactSocialProfilesKey,在这种情况下,调用仅通过我的应用程序按预期执行一次。
  • 将 makeMyVoIPCall 更改为特定数字,而不是按下(参见上面的注释行)。我再次看到 2 个调用系统调用 clicked 属性,而我的应用程序调用“+1234567890”。
  • 我还验证了在处理操作时返回值应该是 false 而不是 true。

需要什么才能告诉系统我正在处理该操作,并且不应执行 SIM/GSM 呼叫?

我正在 iOS 12.1.1 (16C50) 上进行测试。