Domanda

letto un sacco su come prevenire iphone goingto sonno durante l'esecuzione la mia app Sono molto infelice in questo momento perché niente ha funzionato ..

qui ho letto l'idea di impostare un timer per ogni 30 secondi per impostare l'idleTimerDisabled a NO e allora sì, ma il mio objc non è ancora quella buona. Qualcuno potrebbe dirmi come (e dove)?

thnx!

modifica: qui è il codice che ho provato:

- (void)applicationDidFinishLaunching:(UIApplication *)application
{   
    [ super applicationDidFinishLaunching:application ];
    //application.idleTimerDisabled = NO;
    //application.idleTimerDisabled = YES;
    //[[UIApplication sharedApplication] setIdleTimerDisabled:YES];
    [UIApplication sharedApplication].idleTimerDisabled = NO;
    [UIApplication sharedApplication].idleTimerDisabled = YES;


}

EDIT2: dopo che ho cercato di iniziare un ciclo con:

-(void)_timerLoop
{
    // add this function up the top.  it's what will happen when the
    // timer goes off:
    NSLog(@"Your timer went off!!!");
}


/**
 * This is main kick off after the app inits, the views and Settings are setup here.
 */
- (void)applicationDidFinishLaunching:(UIApplication *)application
{   
    [ super applicationDidFinishLaunching:application ];
    //application.idleTimerDisabled = NO;
    //application.idleTimerDisabled = YES;
    //[[UIApplication sharedApplication] setIdleTimerDisabled:YES];
    //[UIApplication sharedApplication].idleTimerDisabled = NO;
    //[UIApplication sharedApplication].idleTimerDisabled = YES;
    [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(_timerLoop) userInfo:nil repeats:YES];


}

Edit3: davvero non si può cambiare accidentially downvotes? sarebbe una richiesta chnage piacevole al sistema StackOverflow!

È stato utile?

Soluzione

Per quanto riguarda la tua domanda su come utilizzare un timer :

Ecco come si effettua un timer si spegne (solo una volta) in 30 secondi da ora:

-(void)_jump
{
// add this function up the top.  it's what will happen when the
// timer goes off:
NSLog(@"Your timer went off!!!");
}
...
// here's how to create the timer, which will go off in 30 seconds
[NSTimer scheduledTimerWithTimeInterval:30.0
   target:self selector:@selector(_jump) userInfo:nil repeats:NO]

Se si desidera due timer diversi , dopo dire 30 e poi 60 secondi, basta fare due nello stesso modo. Fatemi sapere se avete bisogno di più aiuto con timer!


Non potrebbe essere più facile. Basta aggiungere questa riga:

application.idleTimerDisabled = YES;

All'interno della vostra routine "didFinishLaunchingWithOptions applicazione".

Troverete che di routine all'interno del app delegato file di codice sorgente .m.

Assicurati di aggiungerlo prima del "SI ritorno;" dichiarazione - un errore comune! Così, esattamente in questo modo:

-(BOOL)application:(UIApplication *)application
            didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
    // blah blah ...

    application.idleTimerDisabled = YES;
    return YES;
    }

Altri suggerimenti

impostazione Just [UIApplication sharedApplication] .idleTimerDisabled = YES; in

  • (BOOL) applicazione: (*) UIApplication didFinishLaunchingWithOptions di applicazione: (*) NSDictionary launchOptions

funziona bene per me. Tuttavia, v'è un avvertimento. Ho notato che ogni volta che invoco camera utility dal mio PhoneGap app per scattare un'istantanea, idleTimerDisable viene impostata su NO dietro la scena. Così, subito dopo ho caricare la mia immagine, ho avuto chiamare di nuovo la seguente riga di codice:

[UIApplication sharedApplication] .idleTimerDisabled = YES;

Inoltre, non sarei sorpreso se non ci sono più posti in tutto il folle applicazione del timer viene riattivato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top