Опираясь на ответ пользователя 1056521, используйте следующий код:
AudioServicesPlaySystemSoundWithCompletion(soundID, ^{
AudioServicesDisposeSystemSoundID(soundID);
});
, где soundID
- это значение SystemSoundID
, полученное при вызове AudioServicesCreateSystemSoundID()
.
Блок завершения обеспечивает воспроизведение и завершение воспроизведения звука перед его удалением.