2016-05-26 12 views
0

私のアプリケーションでは、バックグラウンドで、または画面がロックされている場合に更新場所が必要です。ユーザーが特定の場所(アラートの場所)に近づくと、サウンドで通知されます。彼らはアプリに近づくとビープ音が1回、次のビープ音が2回、次のビープ音が3回鳴ります。バックグラウンド通知

私はバックグラウンドで場所を更新する方法を知っていますが、健全な警告には問題があります。 最寄りのアラートの場所が見つかった場合、アプリはビープ音が再生されます。私のような私のアルゴリズムAudioServicesPlaySystemSound

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

とオーディオのセッションを使用します。

フォアグラウンドで動作しますが、ロック画面では動作しません。

答えて

0

ロック画面の下で通知を許可する必要があります。そうするには、ユーザーに許可を求める必要があります。 AppDelegateであなたのapplication機能に以下を追加します。

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

私はプッシュのような通知を使用しないでください。私は背景音だけが必要です。私に何ができる? –

+0

アプリはバックグラウンドでアクティブではないので、依然としてサウンドを再生する権限が必要です。 – Idan

+0

まだ動作しません。 –

関連する問題