2

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

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

发生这种情况时,CNContactViewControllerDelegate 函数

func contactViewController(_ viewController: CNContactViewController, didCompleteWith contact: CNContact?) { }

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

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

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

let controller = CNContactViewController(forNewContact: nil)

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

4

0 回答 0