FinderSync - finder extension doesn't register folder updates on /Volumes/ (mounted drives)
| Originator: | stefan.szekeres | ||
| Number: | rdar://34362783 | Date Originated: | 09.11.2017 |
| Status: | open | Resolved: | |
| Product: | macOS FinderSync (Finder plugin extension) | Product Version: | |
| Classification: | bug | Reproducible: | 100% |
Summary:
A finder extension (FinderSync) primary method (-beginObservingDirectoryAtURL:) is not called only on /Volumes if registered to monitor root "/" folder.
Steps to Reproduce:
1. Created a sample FinderSync ("Finder Sync") application.
2. It is sandboxed
3. It is signed and embedded in our .app with signing.
4. @interface FinderSync : FIFinderSync
5. in my init, in the implementation I have:
self.myFolderURL = [NSURL fileURLWithPath:@"/"];
[FIFinderSyncController defaultController].directoryURLs = [NSSet setWithObject:self.myFolderURL];
note: So basically I'm watching the root folder including /Volumes;
6. I implement the protocol
- (void)beginObservingDirectoryAtURL:(NSURL *)url {
// The user is now seeing the container's contents.
// If they see it in more than one view at a time, we're only told once.
NSLog(@"beginObservingDirectoryAtURL:%@", url.filePathURL);
self.beginObserving = [url copy];
}
Expected Results:
- (void)beginObservingDirectoryAtURL:(NSURL *)url
should be called upon clicking on a folder on a mounted drive under /Volumes
Actual Results:
It is not called. Neither - (void)endObservingDirectoryAtURL:(NSURL *)url
But only on /Volumes, it works on any other folder on my tested systems.
Also the selected files are properly loaded under /Volumes, but not the folders.
Version/Build:
macOS 10.10.5, 10.12.3, 10.12.6, 10.13 developer beta 9 (17A360a)
Comments
Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!