Frage

Lesen Sie viel darüber, wie Sie verhindern können, dass das iPhone schlafen geht, während Sie meine App ausführen. Ich bin im Moment sehr unglücklich, weil nichts funktioniert hat.

hier Ich habe über die Idee gelesen, einen Timer für alle 30 Sekunden einrichten, um das idletimerdisabled auf Nein und dann ja, aber mein objc ist noch nicht so gut. Könnte mir jemand sagen, wie (und wo)?

Danke!

Bearbeiten: Hier ist der Code, den ich ausprobiert habe:

- (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: Danach habe ich versucht, eine Schleife mit:

-(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: Sie können wirklich nicht versehentlich heruntergezogen werden? Wäre eine schöne Chnage -Anfrage an das Stackoverflow -System!

War es hilfreich?

Lösung

Was Ihre Frage betrifft Über die Verwendung eines Timers:

Hier ist, wie Sie einen Timer (nur einmal) in 30 Sekunden losgehen lassen:

-(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]

Falls Sie es wollen zwei verschiedene Timer, Machen Sie nach 30 und dann 60 Sekunden zwei auf die gleiche Weise. Lassen Sie mich wissen, wenn Sie mehr Hilfe bei Timern benötigen!


Es könnte nicht einfacher sein. Fügen Sie einfach diese Zeile hinzu:

application.idleTimerDisabled = YES;

In Ihrer "Anwendung didfinishlaunchingwithoptions" -Routine.

Sie werden diese Routine in Ihrem feststellen App -Delegierter .m Quellcodedatei.

Stellen Sie sicher, dass Sie es hinzufügen VOR die "zurückgeben ja"; Aussage - ein häufiger Fehler! Also genau so:

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

    application.idleTimerDisabled = YES;
    return YES;
    }

Andere Tipps

Einfach einstellen [uiapplication SharedApplication] .IdletimerDisabled = Ja; in

  • (Bool) Anwendung: (UIAPPLICATION*) Anwendung didfinishlaunchingWithOptions: (NSDictionary*) StartOptionen

Funktioniert gut für mich. Es gibt jedoch eine Einschränkung. Ich habe festgestellt, dass jedes Mal, wenn ich Kamera -Dienstprogramm aus meiner PhoneGap -App aufrufe, um einen Schnappschuss zu machen, IdletimerDisable auf keiner Zeit hinter der Szene eingestellt wird. Gleich nachdem ich mein Bild hochgeladen hatte, hatte ich erneut die folgende Codezeile angerufen:

UIApplication SharedApplication] .IdletimerDisabled = Ja;

Außerdem würde ich mich nicht wundern, wenn es in der gesamten App -Idle -Timer mehr Orte gibt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top