iOS背景模式

我有一个关于在后台运行应用程序的问题。 我知道如何去做,但苹果不喜欢我这样做的方式。

为了让你在同一页面,我有一个安全应用程序,我需要它监视设备,即使它在后台。 这有点像一个防盗报警器。 我正在使用背景audio模式,认为这将是好的,因为我会在触发时播放声音。 不用说,苹果公司不喜欢这样的。 所以我加了一个ping! 它一边活动一边ping,因此在后台播放背景audio。 再次,他们也不喜欢那个。

我的应用程序也监视加速度计(但不是总是,只有当用户select)。

我的问题是,像Skype这样的应用程序和其他类似应用程序如何能够将状态栏变成红色,并保持在后台? (即使一些闹钟应用程序会做到这一点,没有播放任何audio或任何东西)。

另外,我不能使用通知系统,因为如果我正在监视电池电量,它的更新速度不够快。 对于我的应用程序,我需要立即回应

我也不知疲倦地寻找这个答案之前,我发布我的问题(我发现的答案,不为我工作..):(

我将不胜感激任何见解,提前致谢!

(如果您需要更多信息,请询问!)

从我的文档中可以看出,似乎唯一可以保持持续背景连接的方法是使用七个背景模式键中的一个 ,我可以看到自从您注册了背景audio以来您一直在尝试。 我知道一些闹钟应用程序以及使用此function(例如睡眠周期),我的假设是,他们也使用背景audio模式,考虑到其他六种模式是不是远远接近他们所需要的。

我认为苹果的推理可能是这些应用程序被允许这样做,因为他们的应用程序被devise为当用户不主动使用电话时(即,当他们睡觉时)使用,并且要求audio唤醒用户,而如果您运行的安全应用程序始终处于活动状态,则可能会影响用户可能使用的其他function,如Skype。 当用户使用红色条时,红色条也会一直存在于设备的顶部,而当红色条出现时,他们可能会误认为仍在播放的东西,这意味着用户仍在使用它们一些东西。 再次,我觉得唤醒警报应用程序和其他类似的不使用持续audio的应用程序不能使用,因为它们被devise为在手机处于非活动状态时使用,所以当应用程序不可见不是一个问题。

在其他一些情况下,像Nike +( 这里讨论的)和可能的计步器,他们似乎使用的是位置背景模式,因为他们经常跟踪你去哪里,需要知道距离。 在我讨论的链接中,看起来其他人可以通过注册适用于它们的背景模式来获得加速度计更新。 您是否尝试过注册位置动作? 我可以看到的一个缺点是它可能会更快地耗尽电池寿命,但是如果您不经常检查位置,那可能不会太糟糕? 另一个是,我不认为你可以直接播放audio时,在位置后台模式,但你可以尝试触发声音的通知? :)这可能是一个很好的解决方法,如果这适用于您的应用程序。

再次,我为什么这些应用程序能够做到这一点的推理,只是基于我如何看到其他应用程序的运作,而​​苹果可能有不同的原因,为什么它接受他们,但这是我最好的思维方式为什么你应用程序被拒绝使用这些模式,而其他人可以做到这一点。 如果位置不是你正在寻找的,不幸的是我不能确定你的应用程序正在做什么,你可以按照你期望的方式在后台连续操作它。

只有当您主动使用保持应用程序唤醒的活动时,才能使用后台模式:例如连续播放audio是对audio背景键的有效使用。 他们会非常难以确定是否真的需要访问您的请求,如果不是,他们会拒绝您(正如您已经发现的那样),因为后台服务比其他服务耗费更多电量。

从文档 :

这些密钥应该谨慎使用,只能通过提供指定服务的应用程序来使用。

简短的故事:我认为你提出的实施scheme是不幸的。

Interesting Posts