Так что я думаю, что вы на правильном пути: не уверен, что еще я могу добавить.
Вы можете использовать локальное уведомление для отображения предупреждения в любой момент времени. Как видно из руководства, уведомления не запускаются, когда ваше приложение находится на переднем плане.
Но ничто не мешает вам писать код в вашем приложении для предупреждения пользователей в то время, когда требуется уведомление, когда ваше приложение находится на переднем плане: и это, вероятно, более идеально. Возможно, вы захотите воспользоваться предложенными вам опциями пользовательского интерфейса, когда на переднем плане делаете что-то другое, или вы можете просто отобразить свой собственный UIAlertView.