【问题标题】:Custom iOS Alarm Clock even possible?甚至可以自定义 iOS 闹钟?
【发布时间】:2013-03-04 10:35:48
【问题描述】:

过去几天我一直在为 Android 构建一个自定义闹钟。到目前为止一切顺利,警报响起,我使用 HTTP 流播放一些远程声音(当然需要网络,否则,有本地声音的后备)。现在是时候把这个应用程序带到 iOS 上了,我是一个完全的初学者,但我不害怕学习 Objective-C,因为客户端部分真的很简单。但在我看来,这似乎是不可能的。如果可能的话,我想在这里得到一些帮助:

  • 在 iOS 开发人员文档中,我看到“对于 iOS 中的远程通知,您可以指定 iOS 在为应用程序呈现本地或远程通知时播放的自定义声音。声音文件必须位于客户端应用程序。”。这对我来说很糟糕,我想播放 1 到多个声音,并且可能超过 30 秒。有解决办法吗?
  • 在另一个问题中,我看到“它们可能是具有后台功能的音频应用程序(在应用程序的 plist 中使用 UIBackgroundModes)并使用音频队列或 RemoteIO 音频单元播放静音,甚至在后台,直到有时间混合一些警报声音或音乐。”,但之后有人说 AppStore 验证不允许这样做。这仍然准确吗?
  • 在一般问题中,现在(或在不久的将来的 iOS 版本中)是否有可能制作一个能够不受限制地播放远程声音的简单闹钟?

我会很感激这里的任何反馈,我对我看到这个简单的功能似乎不可能做到感到非常失望。除非我在某个地方弄错了,我希望有人能给我提示!

感谢阅读!

【问题讨论】:

  • 您可以在需要之前将声音下载到本地 - 例如。检查新声音并在应用启动时下载它们,然后它们会从您的文档目录中执行它们。
  • 非常感谢您的回答!但是文档说“声音文件必须在客户端应用程序的主包中”,是否可以在警报中播放应用程序未附带的声音文件(但在手机中的某个位置下载)?如果是,那么我可以做一些我猜想的事情。
  • 安装自定义铃声并拨打电话?
  • 据我所知,您无法通过通知播放下载的文件 - 您需要将它们添加到(只读?)捆绑包中,这会破坏捆绑包签名。

标签: ios alert uilocalnotification alarm


【解决方案1】:

我认为没有办法解决这个问题,因为 Apple 不允许在没有用户交互的情况下启动应用程序。尽管您可以更改工作流程,以便用户必须保持应用程序运行(屏幕仍然可以锁定)才能使警报正常工作。这就是其他警报应用程序的工作方式。

我怀疑您提到的第二种解决方案不适用于 Apple,因为它会耗尽用户的电池。您正在使用 cpu 周期而不做任何事情(播放静音)。

【讨论】:

    猜你喜欢
    • 2011-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-26
    • 1970-01-01
    相关资源
    最近更新 更多