Я думаю, что установка fireDate на 22:00 в день, когда вы хотите получить уведомление (а не «через неделю»), будет делать то, что вы хотите.Возможно, вы захотите использовать NSCalendar
для этого.
NSDateComponents *dateComponents = [[NSDateComponents alloc] init];
NSDate *currentDate = [NSDate date];
NSDate *fireDate = nil;
[dateComponents setDay:3]; // ...or whatever day.
[dateComponents setHour:22];
[dateComponents setMinute:0];
fireDate = [gregorian dateByAddingComponents:dateComponents
toDate:currentDate
options:0];
[localNotification setFireDate:fireDate];
[dateComponents release];