Трудно дать ответ без контекста, например, кода :-)
Я подозреваю, что ваш AVAudioPlayer
, если он используется как локальная переменная, может быть собран сборщиком мусора (GC), когда метод (это FinishedLaunching
?) Вернется.
Если это так, то перевод вашей локальной player
переменной в поле обеспечит сохранение ссылки на экземпляр AVAudioPlayer
и позволит ей воспроизводиться без прерывания (или сбоя). .
Если я ошибаюсь, отредактируйте свой вопрос и предоставьте нам больше контекста, и мы сможем помочь вам в дальнейшем.