1

私はアラームアプリケーションを開発しています。アプリケーションで NSTimer を使用しています。タイマーは問題なく動作します。しかし、アプリケーションを最小化すると、タイマーが機能しなくなります。アプリケーションが閉じられているか最小化されているときにそれを機能させるにはどうすればよいですか?

これが私のコードです

- (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;
    }
}

前もって感謝します。

4

2 に答える 2

2

アラームには、スケジュールされたローカル通知を使用します。

于 2012-08-20T06:55:27.393 に答える
1

少なくとも、パブリック API とアプリ ストアのルールの両方の範囲内にとどまっている間は、これを行うことはできません。

于 2012-08-20T06:51:54.983 に答える