I need my software to wait until the sound is completely played before proceeding.
I’ve got a lot of sounds to develop, so using the callback method will take a lot of development time.
Is there a way to call AudioServicesPlaySystemSound and have it block until it completes playing, without using the callback method?
You can’t – you have actually no exact control of when your sound exactly start and finish. Also not that the sound is played in a background thread for the
AudioServicesPlaySystemSoundAPI. I have read this article recently for playing sound on iOS take a look at it. You might want to use an other API for playing your sound.