2013-07-04 4 views
0

Rubymotion을 사용하여 iOS 앱을 만들고 있습니다. 내 앱에서 "백그라운드 작업"(예 : Resque)을 만들고 실행하는 방법을 찾아야합니다. 그 말은 사용자가 예를 들어 새 작업을 추가 할 때 서버에 직접 보내는 대신 인터넷 연결이 양호 할 때까지 기다리고 싶다는 것입니다.Rubymotion에 대한 배경 작업

보석 또는 이에 대한 해결책이 있습니까?

모든 단서를 보내 주셔서 감사합니다.

답변

3

백그라운드 작업과 같은 것을 갖고 싶다면 NSQueueOperationNSOperation을 살펴볼 수 있습니다.

기본적으로 NSQueueOperation은 NSOperation이 포함 된 컨테이너와 같습니다.

NSOperation은 일종의 작업입니다. 그러나 끈질기는 없습니다. 따라서 NSOperations가 NSQueueOperation에 대기열에 포함되어 있고 응용 프로그램을 다시 시작하면 NSQueueOperation이 비어 있습니다.

하지만 귀하의 경우에는 다소 과도한 행동 일 수 있습니다. 대신 도달 가능성 알림을 청취해야합니다. Apple's implemtation 또는 this one (더 강력 함)을 사용할 수 있습니다. 장치가 온라인 상태가되면 원격 서비스에서 작성/업데이트되지 않은 항목 목록을 가져옵니다. 자신의 ID 또는 상태를 결정하는 데 사용될 수있는 다른 플래그를 찾아서 찾을 수 있습니다.

예를 들어 레코드에 아직 ID가없는 경우 이는 원격 서비스에서 아직 작성되지 않았 음을 의미합니다. 같은 방식으로 updated(Boolean) 특성을 사용하여 원격 서비스에서 개체를 업데이트해야하는지 여부를 알 수 있습니다. 그들 각각에 대해

는 희망, 당신의 API에 대한 HTTP 호출을하고, 완료하면 요청하면, (..., ID를 설정 요법의 플래그를 제거) 변경 사항을 반영하기 위해 개체를 업데이트 도와주세요