gpt4 book ai didi

ios - 手机进入休眠状态时,将 UILocalNotification 的 NSTimer 用于计时器应用程序?

转载 作者:行者123 更新时间:2023-11-28 20:05:29 25 4
gpt4 key购买 nike

我知道我要问的问题以前有人问过,但我找不到完整的答案。

我的问题是:我想创建从 20 分钟(用户偏好)倒计时到 0 的小型计时器应用程序。用户可以看到剩余的时间。当计时器用完时,它应该播放声音文件 3 次。我已经创建了一个应用程序,它通过使用 NSTimer 来做到这一点。唯一的问题是,几分钟后,iPhone 进入休眠模式,应用程序停止运行。当我唤醒手机时,倒计时在手机进入休眠状态时停止了。

我知道这个问题有一些解决方案。

  1. 使用无声音频文件并以欺诈方式行事,就好像该应用需要背景音频资源(存在被 Apple 拒绝应用的风险)
  2. 使用应该能够在后台运行的UILocalNotification。但据我了解,这种方法只能播放一次声音文件,所以这是不够的。

但除此之外,我应该:

  1. 在我的应用中使用 UILocalNotification 而不是 NSTimer(所以完全退出 NSTimer)?
  2. 从手机进入休眠模式的那一刻起就使用 UILocalNotification(然后切换回 NSTimer 以防用户唤醒手机)?

最佳答案

选择第二个选项。在应用程序打开时使用 NSTimer。当应用程序将成为后台时,使所有计时器失效并安装具有适当触发日期的 UILocalNotification 实例。

当应用程序返回时,读取待处理的本地通知,为关联的触发日期启动计时器并取消本地通知。

创建一个声音文件,其中包含播放 3 次的“单一声音”。

附注UILocalNotification 不在后台运行。本地通知在 iOS 中注册为事件,当触发日期到来时,iOS 会采取相关操作。

关于ios - 手机进入休眠状态时,将 UILocalNotification 的 NSTimer 用于计时器应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22236128/

25 4 0
文章推荐: ios - 关于自定义 tableView 单元格中内存泄漏的基本建议
文章推荐: php - 我如何将数据从我的 ios 应用程序上传到我的 sql 数据库?
文章推荐: ios - 如何显示填充屏幕宽度的 UIImageView,并设置高度以保持纵横比?
文章推荐: javascript - 通过