2012-10-22 7 views
3

복잡한 응용 프로그램 상태를 유지하기 위해 디렉토리 기반 NSFileWrapper (파일 패키지라고도 함)와 함께 iCloud 지원 UIDocument를 사용하려고합니다. 내 응용 프로그램에서 사용자는 많은 개별 구성 (잠재적 인 각 드라이버에 대한 좌석 설정이있는 자동차와 같은 종류)을 가질 수 있습니다.iCloud 파일 패키지에서 무엇이 변경되었는지 확인할 수 있습니까?

각 개별 상태에 대해 일반 파일 NSFileWrapper 파일을 전체 파일 패키지에 추가합니다.

내 UIDocument를 클라우드로 쓰거나 읽는 것이 정상적으로 작동합니다. 파일 패키지가 변경되면 알림도받습니다.

문제는 알림에서 하위 파일 (즉, 상태)의 추가 또는 변경으로 인해 패키지가 변경되었음을 알 수 없다는 점입니다.

내 사용자 지정 UIDocument에서 suggestedSubitemDidChangeAtURL을 무시하려고 시도했지만 패키지의 URL 만 제공합니다. 또한 파일 래퍼의 matchesContentsOfURL 메서드를 사용하여 실험했으나 자식 파일 래퍼에 "실제"URL이 없으므로 올바르게 작동하지 않는 것 같습니다.

의견 및 제안을 환영합니다.

답변

0

각 정규 파일의 수정 날짜를 로컬에 저장된 NSDate와 대조하여이 문제를 해결했습니다. UIDocument가 업데이트되면서 마지막으로 프로세스 루프를 실행 한 후에 변경된 항목을 확인합니다. 로컬로 갱신 된 파일이 다시 처리되지 않도록주의를 기울여야합니다.