iOS后台服务震动手机

我有一个在后台运行的应用程序(位置服务)。 当应用程序位于前台时,它会在我想要的时候振动很好,但是,如果它不在前台(在多任务处理视图中),则振动不再起作用。 这是不允许的? 我的后台应用程序是否有某种方式可以提供振动警报? 如果不是那个哔哔声呢?

现在我正在做这样的事情:

AudioServicesPlaySystemSound(kSystemSoundID_Vibrate); 

导入时:

 #import  

如果您在应用程序在后台运行时尝试向用户提供某些内容的通知,请考虑使用本地通知提供该信息(请参阅UILocalNotification 。)

由于以下几个原因,强制手机振动并不是一个很好的用户体验:

  • 某些用户(包括我自己)在静音模式下禁用振动
  • iPad和iPod Touch不会振动
  • 用户可能不知道是什么原因导致振动或声音,可能无法实现打开您的应用程序

本地通知以他们可以控制和识别的方式显示给用户。

如果您的意图不仅仅是通知用户,请将其添加到您的问题中,我会尽力提供帮助。

如果启用背景音频模式(如Apple在https://developer.apple.com/library/prerelease/ios//qa/qa1668/_index.html中所述 ),则当应用程序处于后台状态时会发生振动。 我刚刚确认在目标属性中的“必需背景模式”属性下添加“应用播放音频或流音频/video使用AirPlay”条目,可以在应用不在前台时激活振动。

我发现在应用的“背景模式”中检查“音频,AirPlay和画中画” function工作:

在此处输入图像描述

我很确定你在手机处于背景状态时无法振动。 我实际上从未见过应用程序这样做。