2012-11-16 2 views
3

1password의 자동 잠금 기능과 비슷한 방식으로 내 앱에 안전한 시간 기반 자동 잠금 기능을 구현하고 싶습니다. 사용자는 잠금이 활성화 된 후 암호 및 기간 (1,2,3,5,10,30 분)을 선택할 수 있습니다. 기본적으로 내 장치에 타임 스탬프 (암호화 됨)를 작성하고 다음 사용의 현재 시간과 비교할 수 있습니다. 델타가 선택한 시간보다 클 경우 사용자는 암호를 입력해야합니다. 그러나이 기능은 장치의 현지 시간을 변경하여 남겨 둘 수 있습니다. 이를 수행 할 수있는 안전한 방법 (예 : 특수 시스템 타이머)이 있어야합니다. 따라서이 방법으로 1Password를 사용할 수는 없습니다. 어떤 아이디어?iOS에서 앱의 자동 잠금 기능 구현

덕분에 많은

위르겐

답변

0

당신이 인터넷 시간 서버를 사용한다. 그들은 NTP라는 표준화 된 프로토콜을 사용하고 있습니다. iOS는 built-in support for reading NTP server time이지만 응용 프로그램 개발자로서 액세스 할 수는 없습니다. 어느 것이 든 직접 구현하거나 ios-ntp 또는 HS NTP와 같은 오픈 소스 라이브러리를 사용할 수 있습니다.

+0

사용자가 시스템 시간을 변경할 수있는 경우 인터넷 연결을 해제 할 수도 있습니다. ;-) – LombaX

+0

그러면 NITZ를 통해 이동 통신사로부터 착신을 시도 할 수 있습니다. –

+0

비행기 모드 : -ppp – LombaX

0

사용은 :

[[UIApplication sharedApplication] setIdleTimerDisabled:YES]; 

은 이제 타이머를 설정합니다

[NSTimer scheduledTimerWithTimeInterval:240 target:self selector:@selector(disableIdleTimer) userInfo:nil repeats:NO]; 

disableIdleTimer 방법이 설정 :

[[UIApplication sharedApplication] setIdleTimerDisabled:NO]; 

을 완료를!