1

サービスを使用しているため、バックグラウンドで正常に動作するアプリを開発しましGPSた。

アプリはとNSTimerのバックグラウンドでも正常に動作しています。IPhone 4IPhone 4s

IPhone5アプリがバックグラウンドにあるときに一時停止する方法。

私が使用しているコードNSTimer

repeatTimer5 =   [NSTimer scheduledTimerWithTimeInterval:1.0 target: self
                                                        selector: @selector(toupdate) userInfo: nil repeats: YES];


 [[NSRunLoop currentRunLoop]addTimer:repeatTimer5 forMode: NSDefaultRunLoopMode];

誰も同じ問題に直面していますか?

4

1 に答える 1

0

これを使用します: アプリが AppDelegate デリゲート メソッドでバックグラウンドに入ったときにタイマーを起動します。

 - (void)applicationDidEnterBackground:(UIApplication *)application
    {
        if(!repeatTimer5.isValid)
        {
repeatTimer5 =   [NSTimer scheduledTimerWithTimeInterval:1.0 target: self
                                                                 selector: @selector(toupdate) userInfo: nil repeats: YES];
        }


    }

    - (void)toupdate
    {
        DLog(@"Testing timer Fired");
    }

これにより、アプリがフォアグラウンドに移動したときにタイマー メソッドが起動され、アプリがバックグラウンドに移動したときに再開されます。

このタイマーをバックグラウンド モードで起動する必要がある場合は、BackgroundTask を開始します。

- (void)applicationDidEnterBackground:(UIApplication *)application
    {
        if(!repeatTimer5.isValid)
         {
       [application beginBackgroundTaskWithExpirationHandler:^{
        //your background expiration handler method
    }];

    repeatTimer5 =   [NSTimer scheduledTimerWithTimeInterval:1.0 target: self
                                                             selector: @selector(toupdate) userInfo: nil repeats: YES];
          }


    }

    - (void)toupdate
    {
        DLog(@"Testing timer Fired");
    }

これにより、アプリがバックグラウンドにあるときにタイマーが起動します

于 2013-09-03T09:43:23.237 に答える