You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 14:39:29