背景通知

时间:2016-05-26 07:23:10

标签: ios swift background

在我的应用程序中,我需要在后台或屏幕锁定时更新位置。当用户接近某个指定位置(警报位置)应用程序将通过声音通知。当他们接近应用程序时,将发出一次哔声,接下来发出两次哔声,然后发出三次哔

我知道如何在后台更新位置,但我在声音警报方面遇到困难。我使用AudioServicesPlaySystemSound

的音频会话
do {
   let audioSession = AVAudioSession.sharedInstance()
   audioSession.setCategory(AVAudioSessionCategoryPlayback)
   try audioSession.setActive(true)
} catch {
   print("session does not init")
}
/* *** */
AudioServicesPlaySystemSound(beepSound)

我的算法如下: 当找到最近的警报位置时,应用程序会发出哔声。

它在前台工作,但在锁定屏幕下没有。

1 个答案:

答案 0 :(得分:0)

您需要在锁定屏幕下允许通知,并且这样做需要请求用户许可。在application中的AppDelegate功能中添加以下内容:

let notificationCategory = UIMutableUserNotificationCategory()
let categories = Set<UIUserNotificationCategory>(arrayLiteral: notificationCategory)
let settings = UIUserNotificationSettings(forTypes: [.Alert, .Badge, .Sound], categories: categories)
application.registerUserNotificationSettings(settings)