iSara
iSara

Reputation: 929

How to make my application run in background?

I am developing an alarm application. I use NSTimer in my application. The timer works just fine. But when I minimize the application, the timer stops working. How to make it work while the application is closed or minimized?

Here is my code

- (void) alarmSaveButtonAction:(id)sender {


timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self
                                       selector:@selector(onTimerEvent)
                                       userInfo:nil repeats:YES];  
}
-(void)onTimerEvent
{
    NSLog(@"saravanan");
    NSDate *now = [NSDate new]; 

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    dateFormatter.dateFormat = @"hh:mm:ss a";
    [dateFormatter setTimeZone:[NSTimeZone systemTimeZone]];
    NSLog(@"The Current Time is %@",[dateFormatter stringFromDate:now]);
    NSString *string2 = [NSString stringWithFormat:[dateFormatter stringFromDate:now]];
    NSLog(@"currenttime %@", string2);
    [dateFormatter release];


    Resource *resourceLoader = [[Resource alloc] init];

    NSDictionary *prefDic = [resourceLoader getPlistDataAsDictionary:@"preference"];

    NSDate *selectedDateTime = [[NSDate alloc]init];

    selectedDateTime = [prefDic objectForKey:@"alarmtime"];

    NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc] init];
    dateFormatter1.dateFormat = @"hh:mm:ss a";
    [dateFormatter1 setTimeZone:[NSTimeZone systemTimeZone]];
    NSLog(@"saravanan date %@",[dateFormatter1 stringFromDate:selectedDateTime]);
    NSString *string1 = [NSString stringWithFormat:[dateFormatter1 stringFromDate:selectedDateTime]];
    NSLog(@"currenttime %@", string1);
    [dateFormatter1 release];


    if ([string1 isEqualToString:string2]) 
    {
        NSLog(@"alarm scheduld");
        [self scheduledNotification];
        [timer invalidate];
        timer = nil;
    }
}

Thanks in advance.

Upvotes: 1

Views: 349

Answers (2)

Dmitry Shevchenko
Dmitry Shevchenko

Reputation: 32394

For alarm use scheduled local notifications.

Upvotes: 2

Lily Ballard
Lily Ballard

Reputation: 185653

You can't do this, at least not while staying within the bounds of both public API and the rules of the app store.

Upvotes: 1

Related Questions