2012-12-05 1 views
2

캘린더 일정을 보여주는 앱이 있습니다. iCloud에서 사용자의 캘린더가 변경 될 때마다 업데이트하고 싶습니다.iOS : EKEventStoreChangedNotification. 언제 보내지?

EKEventStoreChangedNotification은 이벤트 추가/제거/수정시 보내집니다. 그리고 때로는 그 사실을 알게되었습니다. 그러나 다른 경우에는 알림이 전혀 전송되지 않습니다. 3 분마다 나는 [EKEventStore refreshSourcesIfNecessary]라고 부른다. 그러나 그것도 변경을 선택하지 않을 것이다. 내가 신뢰할 수있는 변화를 내 앱에서 발견 할 수있는 유일한 방법은 캘린더 앱으로 전환하고 이벤트 변경이 (일반적으로 몇 초 이내에) 나타나기를 기다린 다음 내 앱으로 돌아가는 것입니다.

한 가지 더 : 내 iCloud 캘린더에서 '푸시'알림을 사용하도록 설정했습니다.

여기에 무슨 일이 벌어지고 있는지 궁금하십니까? 왜 일관성이 없습니까? 어떻게 일관되게 만들 수 있습니까?

감사합니다.

+0

UIBackgroundModes와 관련된이 [대답] (https://stackoverflow.com/a/23997912/2103088)도 유용 할 것입니다. – mert

답변

0

잘 모르겠지만,이 문제는 (내가 EKEventStoreChangedNotification에 의지 할 수 있다고 가정하면) ... 당신이 가져간 접근법 ([EKEventStore refreshSourcesIfNecessary] tho를 호출하면 일관된 결과를 얻는다. 메서드를 사용하면 변경 알림을 받게됩니다. 항상 작동하는 것으로 보입니다