У меня есть кнопка, которая при нажатии создает объект thing
. Затем он спит в течение десяти секунд, а затем вызывает thing.go
, который получает состояние приложения, какДисплей applicationState iOS
UIApplicationState state = [[UIApplication sharedApplication] applicationState];
Тогда следующий ответа и комментариев this Вопроса, я проверить, если приложение работает в фоновом режиме, и если да, то она отображает местное уведомление.
Так я нажимаю кнопку и сразу же нажмите домашнюю кнопку, чтобы перейти к главному экрану (поставив тем самым приложение в фоновом режиме)
Однако, я могу сказать, что если оператор возвращает ложь, и поэтому не выполнение любого кода внутри (путем размещения NSLog внутри оператора if).
Итак, мой следующий мыслительный процесс состоял в том, чтобы каким-то образом показать дату на консоли, используя NSLog(state)
. Очевидно, я не могу этого сделать.
Итак, как я могу показать applicationState для решения моей проблемы? Или есть другой способ проверить, работает ли приложение в фоновом режиме в методе этого класса?
Вот go
функция, которая вызывается внутри IBAction
при нажатии кнопки
-(void)go {
if (state == UIApplicationStateBackground) {
NSLog(@"App is in background");
}
}
Вот IBAction
, который связан с кнопкой, т.е. запускается при нажатии кнопки
- (IBAction)button_help {
myclass* thingy = [[myclass alloc] init];
sleep(10);
thingy.go;
}
код добавлен только для вас Zaph :) –
FYI - это плохая практика вызова методов с использованием обозначения свойств, даже если она работает. Вызовите метод 'go' следующим образом:' [thingy go]; '. – rmaddy
Можете ли вы не просто использовать метод 'applicationDidEnterBackground', чтобы сделать то, что вы хотите сделать? https://developer.apple.com/library/ios/documentation/uikit/reference/UIApplicationDelegate_Protocol/Reference/Reference.html # // apple_ref/occ/intfm/UIApplicationDelegate/applicationDidEnterBackground: – Popeye