gpt4 book ai didi

ios - 在 iOS EventKit 中自定义日历事件/提醒?

转载 作者:IT王子 更新时间:2023-10-29 05:23:36 33 4
gpt4 key购买 nike

我正在编写我的第一个 iOS 应用程序(我厌倦了错过事件提醒,并希望有一个基于规则的提醒,例如对于某些日历和某些人,会响起不同的、更响亮的声音,10、5和事件发生前 0 分钟)

第一部分是访问日历,感谢this很棒的演示,我有那种覆盖。让应用程序在我的 iPhone 上运行,我可以看到我的日历事件。

(好吧,第一部分是弄清楚快速和通用的 iOS 基础,我仍在努力)

第二部分是我在花几个小时研究之前想问的地方。我还有两个任务要做

  1. 定期检查日历是否有新/更新事件的后台任务,或者能够以编程方式订阅某种事件总线的任何日历更新(新事件、事件更改)

  2. 在给定时间安排通知(我可能会使用这个:How can I schedule local notification for the following scenario?)

我如何完成#1?

最佳答案

如果不更改设计,我认为这是不可能实现的。

应用程序通常不会在后台运行,除了 Apple 允许的非常特殊的情况(网络电话、音乐、位置等),您的应用程序将被暂停。有后台刷新API,但不够可靠。

请注意,EKEventStoreChangedNotification 通知仅在进程运行时有效。如果你的进程死了(由于内存压力、设备重启、用户杀死应用程序等),你将不会在应用程序启动时收到有关更改的通知,你仍然需要遍历 session 并寻找更改,所以你必须开发自己的机制来迭代 EventKit 数据库(可能在特定时间范围内)。

如果是个人应用,有一些技巧可以让你在后台继续运行,比如播放无声音乐文件、voip 后台 API、定位等)。所有这些方法都可以让你的应用程序在后台运行,但会消耗电池生命周期,并且在提交时不会被 Apple 批准。拥有一致的后台运行时的一种方法是让推送通知服务设置静默推送以定期唤醒应用程序,并让它执行其逻辑。这有可能在应用程序在后台被杀死的情况下启动应用程序(但如果用户杀死它则不会)。

关于ios - 在 iOS EventKit 中自定义日历事件/提醒?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43383196/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com