0
fsevents를 사용하여 감시자 메커니즘을 설정했습니다. 요점은 파일이 폴더 X에서 생성 될 때마다, 나는 함수가 실행되기를 원합니다. 지금은 잘 돌아가고 있지만,보고있는 경로를 변경할 수 있어야합니다. 다음은 설정 코드입니다 : 내가 먼저 바로 FSEventStream를 중지 시도fsevents에서 pathsToWatch 변경하기
void *appPointer = (void *)self;
NSString *myPath = [[[NSUserDefaultsController sharedUserDefaultsController] defaults] stringForKey:@"FolderPath"];
NSArray *pathsToWatch = [NSArray arrayWithObject:myPath];
FSEventStreamContext context = {0, appPointer, NULL, NULL, NULL};
NSTimeInterval latency = 1.0;
stream = FSEventStreamCreate(NULL,
&fsevents_callback,
&context,
(CFArrayRef) pathsToWatch,
[lastEventId unsignedLongLongValue],
(CFAbsoluteTime) latency,
kFSEventStreamCreateFlagUseCFTypes
);
FSEventStreamScheduleWithRunLoop(stream, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode);
FSEventStreamStart(stream);
다음 다시 시작하지만, 다시 FSEventStreamCreate
를 호출 할 때 나는 exc_bad_access
를 얻을.
비행 중에도 pathsToWatch
배열을 조정하려고했지만 잘못된 액세스 오류도 발생했습니다.
더 좋은 방법이 있나요?