问题标签 [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 投票
1 回答
1146 浏览

ios - 在容器视图中显示 CNContactPickerViewController?

我目前正在更新一个很久以前就开始工作的旧 Xcode 项目。我将部署目标更新为 iOS 10.0,所以我被迫用 framework.replace 替换了ABAddressBook框架Contacts。我曾经展示过ABPeoplePickerNavigationController一个 Container View 的内部,它是一个UINavigationController. 这样,我就能够在导航控制器中呈现人员选择器 UI,该控制器位于选项卡栏控制器内(这意味着顶部的导航栏和底部的选项卡栏仍然显示在人员选择器 UI 周围)。我曾经用这段代码来做(在viewWillAppear导航控制器的根视图控制器中调用:

使用此代码,它将完美地显示地址簿,导航控制器的导航栏仍在顶部,标签栏控制器的标签栏仍在底部。我现在正在尝试用 做同样的事情CNContactPickerViewController,但是我在这个上遇到了一些麻烦。当我对导航控制器做同样的事情时,它不会给我任何错误,但视图控制器没有显示。即使我将view视图控制器添加到我的容器视图中,它也只是显示一个空白视图。这是我现在使用的代码:

这两个代码之间唯一的显着区别是我没有从视图控制器中删除导航栏(因为它没有导航栏)。除此之外,我留下的一切都差不多。我猜我需要更改一些其他的东西才能使它工作,因为在容器视图中添加导航控制器和添加视图控制器之间是有区别的。任何人都可以帮助我并给我一些关于如何实现这一目标的提示吗?谢谢!

0 投票
1 回答
231 浏览

swift - 设置导航控制器 View Controller 为 CNContactViewController 黑屏

我有一个集合视图,其中一些单元格代表一个联系人(他们的数据有一个电话号码和姓名),我正在尝试将联系人添加到 iPhone 联系人中。我从CollectionViewCell导航控制器内部的一个名为“添加联系人”的按钮创建了一个 segue,并将其标识符设置为“ADD_CONTACT”。
在情节提要中,我的 segue 有一个没有根视图控制器的导航控制器。在prepareToSegue委托我的视图控制器中,UICollectionView我编写了以下代码:

这会导致黑屏。如何解决这个问题?我想看看CNContactViewController

0 投票
1 回答
176 浏览

ios - 分配 parentGroup 时 CNContactViewController 空白

鉴于以下情况:

当控制器通过以下方式显示时:

呈现CNContactViewController()为空白:

在此处输入图像描述

我究竟做错了什么?文档非常稀少parentGroup

0 投票
2 回答
253 浏览

ios - CNContacts 框架可能带有电话标识符的错误?

最近我从旧的 ABAddressBook 框架切换到了新的 CNContacts。在我的项目中,我将本地联系人与我自己的核心数据联系人同步。为此,我使用联系人标识符和电话标识符来同步电话号码。

但是我观察到有趣的事情,当我尝试编辑联系人时,我将这行代码称为

这真的很简单。但是如果我在 CNContactViewController 中编辑用户照片,电话标识符将会改变,即使我没有在这个控制器中编辑电话号码。电话标识符可以像这样轻松打印:

这真的打乱了我的同步,因为用户可能只是改变照片,但电话号码的标识符会改变,我无法知道发生了什么。如果我编辑一些其他数据,比如人名、公司等,这个标识符不会改变......即使我将手机编辑为其他值,它也会保持不变。但由于某种原因,改变照片完全搞砸了。

有没有其他人观察到这一点?

这是示例项目的链接以测试此https://drive.google.com/file/d/0B9ngBRq15jSuZTBYNVJCaVJ5WGc/view?usp=sharing

编辑:我在真机上测试了这个

0 投票
0 回答
326 浏览

ios - 使用 CNContactViewController 编辑联系人后未更新联系人

最近测试人员检测到,当使用CNContactViewController在 App 中创建联系人并插入无效的电话号码(例如 12345)并保存联系人时。

当他们尝试编辑联系人并更新电话号码使其具有 10 位数字时,联系人似乎已保存,但再次编辑它会显示旧号码 (12345),并且在联系人应用程序中联系人仍然有旧号码。

发生这种情况时,CNContactViewControllerDelegate 函数

返回联系人为nil。但是对于其他电话号码,它会正确返回新值。

在谷歌搜索了很多并且找不到解决方案之后,我决定创建另一个 viewController 来模仿 CNContactViewController 但使用CNMutableContactCNSaveRequest来更新手机,但联系人仍然没有更新。

注意:仅当使用无效电话号码创建联系人然后对其进行编辑时,才会发生这种情况。我像这样初始化viewController

然后我把它推到一个导航控制器

0 投票
1 回答
170 浏览

ios - Swift 3:CNcontactpicker 的电话号码在设备中返回“未获取”

我们的应用程序具有获取设备联系的功能,我刚刚使用了 CNcontacpickerview,当我在模拟器上运行它时它可以工作,但是当它在设备上运行时,电话号码返回“未获取”。是因为我的许可还是什么?奇怪的是它在模拟器上工作

在此处输入图像描述

0 投票
1 回答
1115 浏览

ios - IOS Swift CNContactViewController 导航栏不显示 UINavigation 控制器

我一直在研究这个问题,但无法解决任何问题。我有一个视图控制器,它有效地站在主故事板上。在该视图控制器内部,当发生将联系人类型传递给该操作的特定操作时。

该操作为传递的联系人打开一个新的联系人视图控制器,并允许用户根据 CNContactViewController 与联系人进行交互。一旦用户完成了联系人,它就会关闭,因为 didCompleteWith 方法,但是没有办法退出联系人控制器,而不实际创建联系人。

从navigationItems到navigationItems我都试过了,在我看来导航栏就在那里,因为可以用这行代码改变它的半透明性:

方法如下:

任何建议将不胜感激,我一直在努力解决这个问题太久了。谢谢!

已解决:让它工作。原来这是苹果框架中的一个错误。为了解决这个问题,我只是将它从未知联系人切换到新联系人,显然没有这个错误。部分新代码:

谢谢

0 投票
1 回答
197 浏览

ios - CNContactViewController 上的回调

用户成功保存或关闭时如何获得回调CNContactViewController

0 投票
0 回答
259 浏览

swift - “非法子类 ABRemotePersonView 实例化;客户端应仅使用 NSRemoteView”尝试实例化 CNContactViewController

我正在尝试在表格中显示选定联系人的 CNContactViewController,该表格显示在模式窗口中:

弹出窗口正常,一切正常,除了控制台输出:

我能做些什么吗?看起来像 MacOS 中的错误,但可能是我没有正确初始化某些东西?或者可能无法从模态窗口实例化此类控制器?

0 投票
0 回答
684 浏览

ios - 相机屏幕显示空白黑色

我的应用名称中有一个 UIButton 作为“添加新联系人”。当我单击此按钮时,它会打开原生的新联系人屏幕。但是当我在这个原生的新联系人屏幕中点击“添加照片”时,它有两个选项“拍照”和“选择照片”。通过单击“拍照”,它会打开相机,但一切都显示空白黑屏。单击选项在此屏幕中也不起作用。我的代码片段是 -

请帮我解决这个问题。 在此处输入图像描述