As mentioned in the document here:
You can package the audio data in an aiff, wav, or caf file. Sound files must be less than 30 seconds in length. If the sound file is longer than 30 seconds, the system plays the default sound instead.
The only thing you can do is keep sending a notification in the 27-second interval until you you send stop sound notification. Even that doesn't guaranty an uninterrupted sound because of notification delay. Also, I will not suggest using PushKit in your case as it is mainly used for VOIP notification.
Now to stop sound on second notification have a silent notification on your bundle and inside your payload of the second notification set that as a sound file to play.
...
“aps” : {
“badge” : 9
“sound” : “nosound.aiff”
},
...
That way soon the second notification arrives system will try to play a silent sound which should (haven't tried it so please check and update if it works) overwrite previous sound. make sure that you send nosound.aiff as without that system will play default sound.