유일한 방법은 다음과 같습니다 응용 프로그램의 출시는, 서버의 시간을 물어 그와 [NSDate date]
의 차이를주의
- .
[NSNumber numberWithFloat:serverOffset];
- (BOOL)deviceClockChanged
과 같은 방법을 구현하여 서버에 다시 요청하고 지속 된 값과 비교합니다. 차이가 동기화 요청에 대한 클록 드리프트 + 대기 시간에 대한 약간의 허용 오차보다 크면 시계가 변경되었다고 결론 내릴 수 있습니다. 이 모든 작업을 UTC로 수행하여 표준 시간대 사이의 사용자 이동과 독립적으로 작동합니다.
- 이것을 고려하십시오 : 사용자가 알림을 지연시키기 위해 시간에 대해 앱을 속일만큼 심하게 원하는 경우 전화기의 나머지 부분을 엉망으로 만들면 어쩌면 알림 일정을 수정하도록 할 수 있습니다.
원하는 경우 포인트 1과 2에 대한 코드 예제를 제공 할 수 있으며 원하는 경우 사용자가 포인트 3에 대해 @ "경고 텍스트"를 제공하여 사용자가 자신의 통지를 편집하는 것에 대해 정말로 죄책감을 느끼게 할 수 있습니다.
내 원래 대답은 여기에 있습니다. 당신이 사용자 편집 알림을 수 있도록 선택하는 경우, 이러한 방법 열쇠가 될 것입니다 ... UIApplication은 속성이 있습니다
NSArray *scheduledLocalNotifications;
및 구현 :
- (void)cancelLocalNotification:(UILocalNotification *)notification
그럼, 취소, 하나를 변경을 다시 예약 .
알림을 취소하고 일정을 변경할 수 있습니다 .. – Rajneesh071
@ Rajneesh071 그게 뭔가요? –