2011-04-28 2 views
3

캘린더에서 사용자가 선택한 이벤트를 기억해야하는 앱에서 작업 중이며 반복 이벤트에 문제가 있습니다.사용자 캘린더에서 이벤트 유지하기

비 반복 이벤트의 경우 필 요하면 eventIdentifier를 저장하고 이벤트 저장소에서 이벤트를 가져올 수 있습니다.

그러나 되풀이 이벤트는 모두 동일한 eventIdentifier를 공유합니다. 이벤트 저장소 (eventIdentifier를 기반으로 함)를 가져 오기 위해 이벤트 저장소로 돌아갈 때 사용자가 선택한 이벤트의 N 번째 반복이 아닌 반복 체인의 첫 번째 이벤트가 발생합니다.

EventKit에서 NSCoding을 지원하지 않기 때문에 전체 EKEvent 개체를 보관하여 사용자가 선택한 이벤트를 유지할 수 없습니다.

이벤트 저장소에서 올바른 이벤트를 가져올 수 있도록 이벤트 식별자 저장 및 시작 & 종료 날짜를 고려 중입니다.하지만 꽤 불안해 보입니다. 사용자가 캘린더에서 실행하는 동안 변경 사항을 추적 할 수 있습니다. 내 앱 까다 롭습니다.

의견이나 제안이 있으십니까?

답변

1

비 반복 이벤트의 경우에도 이벤트 식별자만으로는 충분하지 않습니다. 실제로 사용자가 이벤트를 다른 캘린더로 이동하면이 이벤트가 변경 될 수 있습니다. 반복 이벤트의 경우 발생을 분리하거나 반복을 분할 할 때 변경 될 수 있습니다. 따라서 정보의 하위 집합 (제목, 시작일 및 종료일)을 사용하여 이벤트를 검색하는 것이 일반적입니다. 이벤트 식별자에 의존해서는 안됩니다.

프레임 워크는 이벤트의 원시 데이터를 제공하지 않으며 지정된 간격으로 모든 이벤트 발생을 제공합니다. 따라서 프레임 워크를 사용하여 단일 반복 이벤트를 검색 한 다음 해당 반복을 확장하여 n 번째 발생 : 수동으로 검색된 이벤트를 사후 처리하여 검색해야합니다. 당신이 관심있는 것들.

제공된 API는 동기화 용도로 제공되지 않습니다. 많은 개발자가 Radar를 사용하여 버그/기능 요청을 제출하여 불만을 제기했지만 여전히 불만을 제기합니다. 지금까지 Apple의 답변에 따르면 동기화는 자동이기 때문에 API가 다른 목적을 수행합니다. 그러나 iTunes를 통해 동기화 할 때 사실이지만 프로그래밍 방식으로 동기화하지 않습니다.

관련 문제