Your code asks for the sound file each time the button is hit. The device needs to load it into memory, then play it. Depending on the device/hardware, and the size of the sound file, there can be a delay before the audio is played.
If the sim doesn't complain about your code in general, I suspect it's a timing/performance issue.
How may sound files are you using, and what is their average size in MB?
Which version Xcode are you using?
Otherwise, rather than sideload, just use Xcode to run....suggest you then use Instruments to see where the delay might be happening. Use the "Time Profiler" Instrument to see what code is taking the most amount of time. See: https://developer.apple.com/videos/play/wwdc2016/418/
Post the summarized results if you need help understanding what's going on, etc.