【问题标题】:How to make a timer app that could run even when the app is in the background mode如何制作即使应用程序处于后台模式也可以运行的计时器应用程序
【发布时间】:2017-05-02 01:59:44
【问题描述】:

我有一个简单的计时器应用程序,我需要它在使用 iBooks 等其他系统应用程序时工作并发送声音信号。但是当我按下主页按钮并且应用程序进入后台模式时,它似乎暂停了。当我带回视图控制器时,计时器和声音恢复。解决这个问题的正确方法是什么?

【问题讨论】:

  • 应用程序不能在后台运行,除非它们是 VOIP、AudioStreamer、LocationBased 或附属应用程序。无法在后台使用计时器。您最好选择它来安排位置通知而不是使用时间。如果您的应用程序正在运行,您可以处理本地通知。如果您的应用在后台运行,用户将收到通知。
  • 我误用了这个词。在使用 iBooks 等其他应用程序时,我需要它来运行和发送信号。
  • 首先,您将无法检测是否启动了任何其他应用程序,因为这侵犯了隐私。如果您打算通过 AppStore 部署您的应用程序,Apple 将不允许这样做。
  • 我想你误解了我的意思。许多应用程序都是这样制作的。如果您阅读并跑步,您可以使用正在运行的应用程序跑步并听 iTunes 音乐或从 iBooks 中阅读。
  • 您的意思是您希望您的应用程序在后台运行,如果您的应用程序是 VOIP 客户端、音频播放器、基于位置的应用程序或附件应用程序,这是可能的。

标签: ios nstimer


【解决方案1】:

我建议您查看 UILocalNotification(如果您的目标仅限 iOS 10,则为 UNNotificationRequest)。

当您的应用程序运行时,您只需注册一个 UILocalNotification 以在设定的日期和时间触发。当您的应用处于前台、后台或完全从多任务处理中移除时,它仍然会触发。

在此处查看文档:

https://developer.apple.com/reference/uikit/uilocalnotification

【讨论】:

    【解决方案2】:

    如果您的应用是附件应用,则需要添加后台模式附件。

    您可以从目标中的功能选项卡中执行此操作。 如果您确实使用了此选项,并且 Apple 发现您没有与外部附件通信,您的应用将被拒绝。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-03
      • 1970-01-01
      • 2018-03-07
      • 2015-11-26
      • 1970-01-01
      相关资源
      最近更新 更多