문제

Apple Developer Doc . 내 질문은 제목에 있습니다. 내가 바뀌었던 것의 길을 어떻게 얻을 수 있습니까? EventPaths 배열은 본질적으로 보는 상위 디렉토리 (또는 그 설정)의 경로 만 제공합니다. 그러나 수정 된 기본 디렉토리 항목은 아닙니다.

콜백, 즉, I.E.e.

에 유용한 정보를 잡을 수 있습니다.
   static void mycallback(
            ConstFSEventStreamRef streamRef,
            void *clientCallBackInfo,
            size_t numEvents,
            void *eventPaths,
            const FSEventStreamEventFlags eventFlags[],
            const FSEventStreamEventId eventIds[])
.

나는 아마도이 항목 중 하나에서 이름을 추출 할 수 있다고 생각하고있다?

편집 :

예를 들어 파일이 생성 된 파일이 생성 될 수 있습니다

kfseventStreamEventFlagItemCreated

가 발생합니다. 그러나 그 항목의 실제 이름을 얻는 것에 대해 어떻게해야합니까? (항목이 삭제 될 때와 마찬가지로 다른 이벤트와 마찬가지로).

편집 2 :

나는 그것이 내가 원하는 것을 할 수 없다고 생각하기 시작했다. FS 기술 개요 :

"중요한 점은 알림의 세분화가 디렉토리 수준에있는 것입니다. 디렉토리의 무언가가 변경된 것만 알려줍니다.하지만 변경된 것을 알려주지는 않습니다."

일명. Bugger.

환호,

벤.

도움이 되었습니까?

해결책

실제로 이것은 가능하지만 10.7+에서만 가능합니다.fsEventStreamCreate에 대한 KFSEventStreamCreateFlagFileEvents 플래그를 확인하십시오 (문서 )).

다른 팁

불행히도 내가 발견했듯이, 가능하지 않습니다. FS Tech 개요 설명 / 동기 부여.작업 주위는 디렉토리의 스냅 샷을 찍은 다음 변경 사항이 발견 될 때마다 새 스냅 샷을 찍고 원본과 Diff를 사용하여 변경된 특정 디렉토리 항목 (및 이름)을 찾습니다.

편집 :>= 10.7 (선택한 답변 참조)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top