2012-06-26 2 views
0

NSMetadataQuery를 사용하여 파일이 로컬로 다운로드되지 않은 경우에도 응용 프로그램 iCloud 컨테이너에 문서가 있는지 감지합니다.iCloud 컨테이너에 문서가 있는지 확인

NSFilePresenter가있는 NSFileCoordinator가 동일한 기능을 수행 할 수 있습니까? 여전히 로컬에서 사용할 수 없더라도 파일이 있는지 확인하고 있습니까?

업데이트 : 내 유비 퀴티 컨테이너에 파일이 있는지를 감지하기 위해 잠시 NSMetadataQuery를 사용했습니다. 그러나 적어도 10.8.2를 테스트하면 작동하지 않습니다. 나는 파일 존재에 대해 많은 부정적인 결과를 낳고있다.

나는 다른 사람들이 내가 사용한 파일 코디네이터라고 알고있다. 누구든지 이에 대해 의견이 있으십니까, 아니면 사용법에 대한 예를 더 잘 지적 해주십시오.

답변

2

NSFileCoordinatorcoordinateReadingItemAtURL:options:error:byAccessor: 방법에 메시지를 보내고과 byAccessor 블록에 당신이 원하는 일을 그 urlToUse를 (그리고 오류보고 오류의 결과를 확인하는 것은) 이미 아이 클라우드에있는 항목에 유효한 URL이있는 경우 작동합니다 NSMetadataQuery을 사용하여 쿼리하려고했습니다.

을 사용하여 NSFileCoordinator을 만들 수 있으며 모든 파일 발표자에게 적합합니다.

그래서 검색중인 항목의 URL을 이미 알고 있는지 여부는 문제가되는 것처럼 보입니다. NSMetadataQuery을 사용하면 분명히 자신의 URL을 모를 때 iCloud ubiquity 컨테이너에있는 항목의 목록을 돌려 줄 수있는 NSPredicate을 만드는 데 더 편리 할 것입니다.

(당신의 질문에 대해 작성중인 NSPredicate을 확인하려는 경향이 있지만, 귀하의 위조 증거를 설명하는 데 도움이되지 않습니다. 또는 알림을 설정했는지 확인하고 싶습니다. NSMetadataQueryDidUpdateNotification & NSMetadataQueryDidFinishGatheringNotification에 대해 모두 취소했으며 취소하지 않았습니다.)