質問

私のアプリを実行しながらiPhoneが眠るのを防ぐ方法について多くを読んでいます。

ここ 私は30秒ごとにタイマーを設定してiDletimerDisabledをnoに設定するというアイデアについて読みましたが、その後ははいですが、私のobjcはまだそれほど良くありません。誰かが私にどのように(そしてどこで)教えてもらえますか?

thnx!

編集:これが私が試したコードです:

- (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:その後、次のループを開始しようとしました。

-(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:偶然に偶然に変更することはできませんか? Stackoverflowシステムへの素晴らしいchnageリクエストになります!

役に立ちましたか?

解決

あなたの質問について タイマーの使用について:

これは、今から30秒でタイマーを(ちょうど一度)オフにする方法です。

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

お望みならば 2つの異なるタイマー, 、たとえば30秒と60秒後、同じ方法で2つを作成します。タイマーの助けが必要な場合はお知らせください!


簡単ではありません。この行を追加するだけです:

application.idleTimerDisabled = YES;

「アプリケーションDidfinishlaunchingWithoptions」ルーチン内。

あなたはあなたの中にそのルーチンを見つけるでしょう アプリデリゲート .mソースコードファイル。

必ず追加してください 「return yes;」ステートメント - よくある間違い!だから、まさにこのように:

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

    application.idleTimerDisabled = YES;
    return YES;
    }

他のヒント

uiapplication sharedapplication] .idletimerdisabled = yesを設定するだけです。の

  • (bool)アプリケーション:( uiapplication*)アプリケーションdidfinishlaunchingwithoptions :( nsdictionary*)launchoptions

私にとってはうまくいきます。ただし、警告があります。電話ガップアプリからカメラユーティリティを呼び出してスナップショットを取るたびに、idletimerdisableが舞台裏に設定されないことに気付きました。そのため、画像をアップロードした直後に、次のコード行をもう一度呼び出しました。

uiapplication sharedapplication] .idletimerdisabled = yes;

また、アプリのアイドルタイマー全体にさらに多くの場所が再保証されても、私は驚かないでしょう。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top