Я пытаюсь написать приложение, которое работает как поисковик телефона, но с совершенно разными обычаями и каналом вызова. Я могу получить местоположение пользователя и сделать фоновое извлечение в порядке, но я стараюсь играть громко (даже когда телефон молчит), чтобы найти телефон пользователя, когда он потерял его в доме. На Android все было просто, и я тоже хочу воспроизвести это на iOS. Я был в состоянии воспроизводить звук, когда приложение переключается с переднего плана на фон, делая это:Swift 3 как переопределить тихий режим и воспроизводить аудио с фона
func setupAudio(){
print("Trying to play audio")
guard let sound = NSDataAsset(name: "FeelinGood") else {
print("asset not found")
return
}
do {
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
try AVAudioSession.sharedInstance().setActive(true)
audioPlayer = try AVAudioPlayer(data: sound.data, fileTypeHint: AVFileTypeMPEGLayer3)
audioPlayer.play()
} catch let error as NSError {
print("error: \(error.localizedDescription)")
}
}
Но когда я пытаюсь вызвать метод, когда я получаю удаленное оповещение это не работает. У меня есть тревога для работы с моим приложением с удаленным уведомлением и возможностью воспроизведения пользовательских звуков, но это работает только тогда, когда телефон не находится в бесшумном режиме.
В магазине приложений есть множество приложений, которые переопределяют бесшумный режим, поэтому я уверен, что есть способ сделать это, но пока не знаю, как это сделать.
Спасибо зомби. Но моя проблема с аудиоплеером заключается в том, что я не могу даже заставить его играть, когда приложение полностью в фоновом режиме. Поэтому, когда приложение находится в фоновом режиме, и экран заблокирован, он не работает. В этом состоянии я получил сигнал тревоги, но я не могу отменить молчание. – abharku
С будильником я имею в виду локальное уведомление с пользовательской мелодией в 30 секунд – abharku
Вы включили фоновые режимы, как указано выше – zombie