다음 호스트 서버로 전송되는 메시지를 만드는 앱이 있습니다.iOS 5 분마다 확인
앱은 완전히 오프라인으로 작동 할 수 있어야하며 메시지가 생성되어 CoreData에 저장되면 '보내지 않음'으로 설정됩니다. 응용 프로그램은 즉시 그들을 보내려고합니다. 연결이 있고 서버 응답이 긍정적이면 "보낸"메시지를 설정합니다.
물론 메시지가 만들어 질 때 전화기가 오프라인 상태이면 메시지가 전송되지 않습니다.
모든 내 메시지는 모든 메시지 보내기 및 대기열을 관리하는 단일 개체를 통해 전송됩니다.
나는 5 분마다 (테스트를 위해 10 초로 변경됨) 전송을 트리거하는 싱글 톤의 init에 NSTimer를 넣으려고했다. NSTimer의 기간보다 오래 앱을 중지 할 때까지 제대로 작동합니다.
30 초 동안 앱을 중지했다가 다시 시작하면 타이머가 실행되지 않습니다.
동일한 기능을 사용할 수 있도록이 작업을 수행하는 더 좋은 방법이 있습니까? 즉, 보내는 메시지를 몇 분마다 확인하고 대기중인 메시지를 보냅니다.
편집
나는 타이머 또는 아무것도를 무효화하고 있지 않다. 타이머가 작동하지 않아 앱이 작동하지 않으면 다시 예약하지 않는 것입니다. 나는 배경에 응용 프로그램을 넣고 타이머가 문제없이 계속 실행됩니다 후 화재로 인하여 전에 다음을 활성화하면 내 NSTimer
에 대한
코드는 ...
[NSTimer scheduledTimerWithTimeInterval:10 target:self selector:@selector(sendMessages) userInfo:nil repeats:YES];
입니다. 하지만 앱을 배경에 놓은 다음 30 초를 기다렸다가 다시 앱으로 돌아 가면 타이머가 다시 작동하지 않습니다.
나는 타이머가 멈추는 것을 막을 수 없다. 타이머를 설정하고 코드를 릴리스하거나 무효화 한 코드를 게시 할 수 있습니까? 고맙습니다! –
타이머 문제를 설명하기 위해 코드가 추가되었습니다. – Fogmeister