本地通知声音不起作用

local notification sound doesn't work

我有一个应用程序可以通过声音触发本地通知。

但是当通知触发时,如果我的应用程序是 运行,它不会播放声音。只有当我关闭我的应用程序时,它才会播放通知声音。

即使 phone 上的 运行 应用程序也能播放声音。

这是我的代码:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    // register for sending notifications
    let notificationType = UIUserNotificationType.Alert | UIUserNotificationType.Badge | UIUserNotificationType.Sound
    let settings = UIUserNotificationSettings(forTypes: notificationType, categories: nil)
    application.registerUserNotificationSettings(settings)

    return true
}

var localNotification:UILocalNotification = UILocalNotification()
localNotification.alertAction = "Testing notifications on iOS8"
localNotification.alertBody = "Local notifications are working"
localNotification.fireDate = NSDate(timeIntervalSinceNow: 1)
localNotification.soundName = UILocalNotificationDefaultSoundName
UIApplication.sharedApplication().scheduleLocalNotification(localNotification)

有什么帮助吗?

您必须使用 didReceiveLocalNotification

手动播放声音
func application(application: UIApplication, didReceiveLocalNotification notification: UILocalNotification) {
 print("received local notification")

 application.applicationIconBadgeNumber = 0

 //Play sound
 let soundURL = NSBundle.mainBundle().URLForResource("beep", withExtension: "wav")
 var mySound: SystemSoundID = 0
 AudioServicesCreateSystemSoundID(soundURL, &mySound)
 AudioServicesPlaySystemSound(mySound)

 var alert = UIAlertView()
 alert.title = "Alert"
 alert.message = notification.alertBody
 alert.addButtonWithTitle("Dismiss")

 alert.show()
}