как обнаружить незанятого пользователя в iphone-sdk - PullRequest
3 голосов
/ 23 июня 2010

В моем приложении я хочу вызвать функцию выхода из системы, если пользователь в течение определенного времени не используется, как выполнить

этот ответ не работает для меня iPhone: обнаружение неактивности / простоя пользователя с момента последнего касания экрана если я создаю подкласс своего класса делегата приложения из UIApplication и реализую

- (void)sendEvent:(UIEvent *)event

Это дает мне ошибку

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'There can only be one UIApplication instance.'

Я не могу найти другой экземпляр UIApplication в моем приложении

пока я сделал

вместо

@interface IdleAppDelegate : NSObject <UIApplicationDelegate> {

Я изменил его на

@interface IdleAppDelegate : UIApplication<UIApplicationDelegate> {

и в основном вместо

 int retVal = UIApplicationMain(argc, argv, nil, nil);

Я изменил его на

int retVal = UIApplicationMain(argc, argv, @"IdleAppDelegate", @"IdleAppDelegate");

Осталось ли что-нибудь сделать?

Я получаю вышеуказанную ошибку ... я что-то упустил ...?

Пожалуйста, помогите

Спасибо

Ответы [ 2 ]

2 голосов
/ 24 июня 2010

Ваш класс приложения также является классом делегата приложения - это плохо. UIApplicationMain() создаст экземпляр вашего пользовательского подкласса приложения, который затем попытается создать экземпляр его делегата, который также является экземпляром вашего пользовательского подкласса приложения. Вы должны разделить эти проблемы - да, ваш подкласс приложения должен иметь подкласс UIApplication, но ваш делегат приложения должен быть отдельным классом, который подклассы NSObject.

0 голосов
/ 23 июня 2010

Попробуйте это

-(void)applicationWillResignActive:(UIApplication *)application

{
    NSLog(@"Application not Active");
    // FETCH THE CURRENT TIME 
}
...