2016-01-18 63 views
0

所以我需要这个应用程序运行超过3分钟的计时器,并播放45秒钟的声音,这里的大多数解决方案只需要不到3分钟iOS版。除非应用程序停止,否则有办法让它始终运行吗?让计时器在后台iOS上运行超过3分钟

经过研究,我想解决的办法是实行beginBackgroundTaskWithExpirationHandler

,并给予上plist一个handler和设置位置更新停止呢?

至于音频,除了设置plist,还有其他什么需要做音频播放?

Swift how to use NSTimer background? iphone - NSTimers in background Run app for more than 10 minutes in background

+0

我有这个计时器应用程序..它显然是在我点击主页按钮后运行在后台,它可以运行像一个小时.. !!! – martingale

+0

什么是计时器应用程序?也许我们可以看一看,并可以告诉你它在做什么。 – Rob

+0

简单的间隔计时器。欣赏它。搜索时的第一个 – martingale

回答

1

没有,为了拯救我们大家从杀死我们电池的应用程序,苹果不允许应用程序继续在后台运行超过几分钟。只有非常特殊的限制(音乐播放应用程序,VOIP,导航应用程序等)允许持续运行。在细节方面,这在适用于iOS的应用程序编程指南的Background Execution一章中有描述。

如果您想在未来某个时间通知用户某件事,可以使用本地通知。但是,当您这样做时,您无法控制应用程序是否重新启动。只有当用户点击通知(假设他们甚至授予您的应用程序通知特权),应用程序才会重新打开。有关更多信息,请参阅Local and Remote Notification Programming Guide中的本地通知讨论。但请注意,这不是用于每45秒发出一次警报,而是针对未来某个时间的重要通知。

有关如何使用计时器与本地通知结婚的讨论,请参阅swift NSTimer in Background以及此问题后续问题swift calculate time for timers running in background

+0

我有这个计时器应用程序..它显然是在我点击主页按钮后在后台运行,它可以运行像一个小时..!它每1分钟发出一次蜂鸣声,当我进入计时器时仍会继续。 – martingale