Periodic sounds from the background

I appreciate that very similar questions have been asked already, but users of my app have requested certain functionality that simply doesn’t seem possible given the current background mode regulations in iOS. However, many similar apps do have this functionality. So, could it be that I am missing something.


Basically, a meditation timer app needs to be able to play bell sounds periodically. Some users, those who meditate for long periods of time for example, like to switch their screens off to preserve the battery charge, and because of that the app needs to play these bell sounds from the background.


So far, my solution has been to use Local Notifications to play the sounds as they can be timed accurately and also can play custom sounds.


However, there are two issues that my users are unhappy about:


1. They want the bell sounds to play even when the silent switch is on (they don't want to be disturbed by other notifications, but do want the meditation bells)

2. They want the bell sound only, i.e. without vibration, while still having vibration come through for phone calls etc.


While being very particular both requests actually make sense and it is true that the other apps already do this. However, that does not seem possible to achieve with Local Notifications as it’s not possible to control vibration on individual notifications and also the silent switch silences the notification sounds too.


At the same time, the only background mode that can be applicable for this type of application would be the audio playback mode. However, that mode would only work if the app is already playing audio at the point of going into the background and keeps doing so continuously while in the background. This is not the case here, as the sounds are only played periodically.


Also, it would seem that it’s implied that user has switched his/her attention from the app that was put into background to another app. Here that is not the case. The meditation timer is still the focus of user’s attention for the duration of the session, even when in background.


So, my question is is there another way to achieve this - play periodic sounds from the background?