0
Hallo ich will einen einfachen Timer mit Picker und Label machen.iPhone Timer Countdown im Hintergrund
alles super arbeiten, bis mein App im Hintergrund gehen, ich verstehe nicht, warum? Ich habe etwas vergessen?
hier der Teil meines .m, die den Countdown gesetzt und berechnen es
- (void)tick {
//sottraiamo uno dal countdown
countdown--;
//controlliamo che il valore di countdown sia minore di zero
if (countdown < 0) {
NSLog(@"controllo");
//se è minore di zero allora il timer è finito
//Incvochiamo l'azione playSound per suonare l'allarme
[self playSound];
//Invochiamo il metodo fermaIlTimer per fermare il timer
[self fermaIlTimer];
//Arrestiamo il codice
return;
//Inibisce lo standby
[UIApplication sharedApplication].idleTimerDisabled = YES;
}
//Assegnamo alla proprietà text della UILabel la stringa restituita dal metodo formattazioneLabel
self.countdownLabel.text = [self formattazioneLabel];
}
#pragma mark Azioni
//Impostiamo l'azione del pulsante newTime
- (IBAction)newTime:(id)sender {
//controlliamo se sta andando e se si fermiamo il blocco di codice con il return
if (isRunning) return;
//Impostiamo il countdown con il metodo dateWithTimeIntervalSinceNow prendendo il tempo dal valore della ruota di selezione + 1
countdown = [self getPickerTime];
//Assegnamo alla proprietà text della UILabel la stringa restituita dal metodo formattazioneLabel
self.countdownLabel.text = [self formattazioneLabel];
}
//Start
- (IBAction)start:(id)sender {
if (isRunning == NO && isPlay == NO){
//Impostiamo su si il booleano isRunning
isRunning = YES;
//Impostiamo il countdown con il metodo personalizzato
countdown = [self getPickerTime];
//Invochiamo il primo tick
[self tick];
//Avviamo la data con il metodo scheduledTimerWithTimeInterval che ogni secondo invoca il metodo tick
self.theTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(tick) userInfo:nil repeats:YES];
//imposta la font di rosso
self.countdownLabel.textColor = [UIColor redColor];
//modifiche fondo
fondo.image = [UIImage imageNamed: @"Bck_timerII.png"];
myPicker.hidden = YES;
copertura.hidden = YES;
start.hidden = YES;
stop.hidden = NO;
pausa.hidden = NO;
}
}
Sie haben Recht, aber diese Linie blockieren die automatische Standby nicht den Hintergrund, wenn ich die app setzen in den Countdown-Stopp-Multitasking. – Acunamatata
Irgendeine andere Idee? – Acunamatata