2011-03-31 3 views
4

앱이 지정된 시간 동안 전경이나 백그라운드에서 유휴 상태가되면 세션에서 사용자를 로그 아웃 할 아이폰을 찾고 있습니다.Autologout iphone app

NSTimer를 사용해야한다고 생각하지만 어디서부터 시작해야할지 모르겠다. 앱이 포 그라운드에있을 때 유휴 상태가되었을 때 어떻게 알 수 있습니까? UIApplicationDelegate 메서드가 있어야한다고 생각합니까?

제안 사항? 감사.

답변

2

응용 프로그램이 백그라운드로 들어갈 때 자동으로 로그 아웃하려면 응용 프로그램 위임 방법을 살펴보십시오. 예를 들어, applicationDidEnterBackground 방법이 있고 applicationWillTerminate도 도움이 될 수 있습니다. 여기서 자동 로그 아웃을 구현할 수 있습니다. 특정 기간 동안 응용 프로그램이 백그라운드에있는 상태에서 로그 아웃하려면 응용 프로그램이 백그라운드에서 실행되도록해야합니다. 그렇게하기 위해서는 응용 프로그램 info.plist 파일로 가서 "응용 프로그램이 백그라운드에서 실행되지 않습니다"라는 새로운 필드를 추가하십시오. 확인되지 않았는지 확인하십시오. 그런 다음 applicationDidEnterBackground 메서드에서 NSTimer를 추가하고 특정 시간이 지나면 로그 아웃 할 수 있습니다.

+0

감사합니다. 정말 배경 로그 아웃에 도움이됩니다. 특정 시간 동안 포 그라운드에서 유휴 상태 일 때 앱을 로그 아웃하는 방법에 대한 의견. 사용자가 15 분 동안 화면을 건드리지 않았다는 것 (예 : 아이폰을 빠져 나갔다.) ... – Cyrus

+1

흠 ... 나는 그 것에 대해 확신하지 못한다.이 질문을 보면 도움이 될 것이다. http :// /stackoverflow.com/questions/273450/iphone-detecting-user-inactivity-idle-time-since-last-screen-touch – futurevilla216

+2

@ lenny-k iOS에서 백그라운드 처리는 매우 적은 선택 작업으로 제한됩니다 (예 : VoIP 또는 스트리밍 오디오). 백그라운드로 작업하기 전에 NSTimer를 설정할 수는 없습니다 ... 더 유용한 전략은 앱이 배경으로 된 이후 (foregrounding 시간에) 얼마나 많은 시간이 지 났는지 확인하는 것입니다. 특정 양보다 큰 경우 로그 아웃 작업을 수행하십시오 . 배경 타이머에 대한 토론 : http://www.iphonedevsdk.com/forum/iphone-sdk-development/58643-keep-nstimer-running-when-app-background-multitasking.html – occulus