[NSTimer scheduledTimerWithTimeInterval:40.0 target:self selector:@selector(playSound:) userInfo:nil repeats:YES];
Это вызовет метод playSound:
каждые 40 секунд. Если вы предпочли бы подождать ровно 40 секунд после звука, чтобы начать его снова, вам нужно зарегистрировать обратный вызов через AudioServicesAddSystemSoundCompletion
или любой другой API, который вы используете для воспроизведения звука, и создать неповторяющийся таймер в функции обратного вызова.
Тогда вы также можете использовать performSelector:withObject:afterDelay:
, чтобы избежать явного использования таймеров.