使用CNSaveRequest更新现有CNContact时遭遇“Record is read-only”错误的问题咨询
CNSaveRequest更新现有CNContact时遭遇“Record is read-only”错误的问题咨询
大家好,我现在碰到了一个通讯录编辑相关的问题,想请教下各位开发者朋友。
当我尝试通过CNSaveRequest将已有的CNContact保存到contactStore时,总是收到这样的错误:Error Domain=CNErrorDomain Code=206 "Record is read-only",附带的详细说明是The save request failed because it attempted to modify records that are read-only.
我的实现代码如下:
if let mutableContact = contact.mutableCopy() as? CNMutableContact { mutableContact.givenName = givenName let saveRequest = CNSaveRequest() saveRequest.update(mutableContact) do { try contactStore.execute(saveRequest) } catch { print("Error: \(error)") } }
目前我已经完成了这些前置准备:
- 调用
contactStore.requestAccess(for: .contacts)请求了通讯录访问权限,且已获得用户授权 - 在Info.plist中配置了
Privacy—Contacts Usage Description权限描述文本
想确认下,是不是还有额外的权限或者能力需要申请,才能正常编辑通讯录里的记录呢?
内容来源于stack exchange
相关产品推荐
相关产品推荐

