Звук локального уведомления iOS перекрывается на заблокированном экране

Я работаю над приложением будильника. Я использовал локальное уведомление для уведомления пользователя, оно работает нормально, когда приложение находится на переднем плане или в фоновом режиме, но когда я заблокировал экран, в это время пришло уведомление, но звук уведомления перекрывается. Проблема с перекрытием возникала только тогда, когда устройство заблокировано.

Я имею в виду приложение Alarmy, которое работает в реальном времени отлично в том же сценарии, даже если он также воспроизводит звук, когда устройство находится в беззвучном режиме.

Я также рекомендовал задать вопрос, связанный с приложением Alarmy, но это мне не помогло.

Я застрял в этой проблеме, не знаю, что делать, потому что он воспроизводит звук без перекрытия, когда экран не заблокирован. И я не могу воспроизводить звук через код, когда приходит локальное уведомление, звук звонка полностью зависит от локального уведомления.

Ниже приведен код, с помощью которого я настраиваю локальные уведомления.

func add(alarm: Alarm) -> Void {
    UNUserNotificationCenter.current().removeAllDeliveredNotifications()
    UNUserNotificationCenter.current().removeAllPendingNotificationRequests()
    
    let identifier = "\(alarm.id)"
    let content = UNMutableNotificationContent() 
    content.title = applicationName
    content.body = alarm.label
    content.categoryIdentifier = identifier
    var dict = [String: Any]()
    dict["id"] = alarm.id
    dict["sun"] = alarm.sun
    content.userInfo = dict
    content.sound = UNNotificationSound.init(named: UNNotificationSoundName.init("\(alarm.soundName).wav"))
    
    let interval = Date.init(timeIntervalSinceReferenceDate: TimeInterval.init(alarm.time))
    var i = interval.timeIntervalSince(Date())
    if i < 0 {
        i = 1
    }
    
    for t in 1...60 {
        let triggers = UNTimeIntervalNotificationTrigger.init(timeInterval: i + 6, repeats: false)
        let requests = UNNotificationRequest.init(identifier: "kathla\(t)", content: content, trigger: triggers)
        UNUserNotificationCenter.current().add(requests) { (error) in
            if let error = error {
                print(error.localizedDescription)
            }
        }
        i = i + 5
    }
}

person pramod    schedule 27.10.2020    source источник