Я думаю, важно уточнить, что ваше приложение не работает в фоновом режиме.Скорее ваше приложение «усыплено».Указанное вами значение фонового процесса info.plist
сообщает ОС, что оно должно пробудить ваше приложение и позволить ему реагировать на определенные типы событий.Из Apple Documentation
Каждое из предыдущих значений [audio, location, voip] позволяет системе знать, что ваше приложение должно быть активировано в подходящее время для ответа на соответствующие события.
В вашем случае ваше приложение заморожено и может отвечать только на указанный вами тип события (местоположение или GPS).
Вы не даете понять, в каком контексте находится этот код, поэтому на данный момент трудно сказать вам, почему звук не воспроизводится.Кроме того, вам нужно убедиться, что ваше приложение работает в фоновом режиме для указанной цели.Если вы используете механизм location
и не используете GPS в своем приложении, вы можете получить отказ при подаче заявки.
Вы также можете обратиться к Контрольному списку поддержки многозадачности , чтобы убедиться, что структура вашего приложения соответствует их требованиям.