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

如何通过calendarItemIdentifier打开苹果提醒事项App中的指定提醒项?

如何通过calendarItemIdentifier打开苹果提醒事项App中的指定提醒项?

看起来你遇到的问题是URL格式不对,导致系统没法识别你的打开请求——那个-10814错误其实就是说「找不到能处理这个URL的方式」。咱们来把代码修正一下:

你之前直接把calendarItemIdentifier拼在x-apple-reminder://后面的格式是错的,正确的做法是用查询参数来传递标识符。下面是修正后的代码:

@Environment (\.openURL) private var openUrl

// ...

// 先做个安全校验,避免强制解包崩溃
guard let reminderId = reminder.calendarItemIdentifier,
      let url = URL(string: "x-apple-reminder://?id=\(reminderId)") else {
    print("没法构造有效的提醒事项URL")
    return
}

// 打开URL的时候可以加个回调,看看是否成功
openUrl(url) { success in
    if !success {
        print("打开提醒失败了")
    }
}

另外还有两个小细节要注意:

  • 虽然你已经能拿到calendarItemIdentifier,但还是要确认你的App已经在Info.plist里配置了NSRemindersUsageDescription,并且用户已经授权访问提醒事项(没权限的话后续操作也会出问题)。
  • 如果遇到偶尔打不开的情况,可以试试用reminder.externalIdentifier代替calendarItemIdentifier——这个是更稳定的全局标识符,URL格式和上面一样,把reminderId换成reminder.externalIdentifier就行。

你之前的URL之所以报错,是因为系统没法解析x-apple-reminder://FB2D0D45-23E9-4851-A86E-636064BA6A39这种格式,必须用?id=参数来传递标识符,系统才能正确识别要打开哪条提醒。

备注:内容来源于stack exchange,提问作者MatFetsch

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.16 12:44:35