Сколько времени прошло с тех пор, как приложение в последний раз открывалось в iOS? - PullRequest
8 голосов
/ 19 января 2011

Как узнать время с момента последнего запуска моего приложения? Может ли это все еще контролироваться, даже если мое приложение не работает в фоновом режиме?

Спасибо.

Ответы [ 2 ]

18 голосов
/ 19 января 2011

Положите что-то вроде

[[NSUserDefaults standardUserDefaults] setObject:[NSDate date] forKey:@"kLastCloseDate"];

в оба

- (void)applicationWillTerminate:(UIApplication *)application
- (void)applicationDidEnterBackground:(UIApplication *)application

Затем проверьте разницу при запуске:

NSDate *lastDate = [[NSUserDefaults standardUserDefaults] objectForKey:@"kLastCloseDate"];
NSTimeInterval timeDiff = [[NSDate date] timeIntervalSinceDate:lastDate];
// your stuff

в обоих

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
- (void)applicationWillEnterForeground:(UIApplication *)application
1 голос
/ 19 января 2011

В вашем приложении делегат метод - (void)applicationDidEnterBackground:(UIApplication *)application, просто запишите текущее время в файл.Затем, либо в applicationWillEnterForeground:, либо в applicationDidFinishLaunching, прочитайте этот файл и сравните с текущим временем.Разница скажет вам, сколько времени прошло с тех пор, как ваша заявка была последней.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...