FinderSync extensions gone in macOS settings

On macOS Sequoia, the settings to enable FIFinderSync seem to have gone. I have already figured out that Extensions are no longer in the Privacy & Security section, but they are now at General › Login Items & Extensions. Here there is a Finder section, but that is just for the Finder-Extensions, not the Finder-Sync-Extensions. Those previously did not have their own section and were hidden away in the Added Extensions section that apparently no longer exists. I expect that it has been forgotten when migrating.

Where are the settings for this – have they been forgotten?

Answered by DTS Engineer in 812519022

All of this is to try and explain why the fact that the fix was not included in 15.1 or 15.2 (24C5057p) does not mean the bug isn't being addressed.

Following up on this, the FinderSync UI should be visible in current (released today) beta, macOS 15.2 beta 2 (24C5073e). Please take a look and, if there are any issue, please file a bug and post the bug number here.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

We also see that our Finder sync extension does not run on its own in MacOS Sequoia. The OS should notice and load the .appex from plugins directory within the .app. But it doesn't do so. Running plug-in kit command (pluginkit -mAD -p com.apple.FinderSync -vvv) lists the extension but it is not enabled. If I manually enable it (pluginkit -e "use" -I "my plugin id") by using pluginkit command, then the plugin is loaded by OS and it runs fine.

It's been months. Does anyone care? Is there any other solution? My App can't open now. What can I do

Hello,

Just pinging to ask what has happened to this one? I expected this to be resolved before the official of Sequoia (despite seeing it not being solved in numerous betas, I still hoped the official release would change that), but it isn't. I don't see any changes in this regard in macOS 15.1 Developer Beta either.

Will this be fixed? Is there any feedback / bug report already filed? Do I need to "waste" my DTS ticket for this (although I don't see how it would change anything)?

Quinn “The Eskimo!”, can we please have an update on this?

I haven't directly tested this but, per the engineering team, apps should be able to enable a FinderSync extension by using EXAppExtensionBrowserViewController in their app to present the approval API. Once approved by the user, the extension should work the same as it has in the past.

If that doesn't work, then please file a bug and then reply with that bug number.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

Kevin,

It may be I don't understand things very well and terrible state of ExtensionKit documentation doesn't help my case, but I don't think your proposal will work. I actually tried it and it didn't work, but like said, I'm not sure if I did everything right.

First of all, EXAppExtensionBrowserViewController is part of ExtensionKit, wheres FinderSync extensions have nothing to do (at least on the highest level) with that framework.

Secondly, as I understand it (and I'm not sure about it and again, terrible state of documentation doesn't help), EXAppExtensionBrowserViewController is supposed to be used to list and enable/disable extensions hosted/embedded in OTHER applications, which has NSExtensionPointIdentifier matching custom extension points declared by OUR application.

But here, we actually have problem with OUR application, which is a host/container of FinderSync extension, with NSExtensionPointIdentifier = com.apple.FinderSync. It is the responsibility of some OTHER application (defining com.apple.FinderSync extension point) to provide user interface to list and enable/disable FinderSync extensions. And that has being done by System Preferences / System Settings application, until Sequoia.

What I did:

  1. I left my application, hosting a FinderSync extension, just as it is, but tried to show EXAppExtensionBrowserViewController. I got an "empty" window, just saying "Select extensions for customizing FIleUtils:" (FileUtils is my application name), without any following list of extensions (and applications hosting them).

  2. I even tried something crazy, trying to declare my "custom" extension point com.apple.FinderSync in the .appextensionpoint plist file (copied during build phase into ExtensionKit Extensions destination) and then show EXAppExtensionBrowserViewController. The result was the same; "empty" window, just saying "Select extensions for customizing FIleUtils:", without any following list.

And we actually need a window, which would say Select extensions for customizing Finder:, since that's the application (declaring extension points) which our FinderSync extension (bundled into our application) wants to customize. And for that purpose we have +[FIFinderSyncController showExtensionManagementInterface], which worked fine before Sequoia.

Please let me know if I should do something similar to enable FinderSync extension using EXAppExtensionBrowserViewController. But as far as I understand how ExtensionKit works, that's not the way to go.

Anyway, I've filed a bug/request/whatever and this is the feedback reference number: FB15249290

It may be I don't understand things very well and terrible state of ExtensionKit documentation doesn't help my case, but I don't think your proposal will work. I actually tried it and it didn't work, but like said, I'm not sure if I did everything right.

First of all, EXAppExtensionBrowserViewController is part of ExtensionKit, wheres FinderSync extensions have nothing to do (at least on the highest level) with that framework.

ExtensionKit is what's actually does all of the loading and management of all extensions (including FinderSync) and my original suggestion actual came from one of their engineers. Unfortunately, yes, you're are correct that it won't work. I'm looking any other way to enable the extension but I haven't found any yet and I'm not optimistic that I'll find one.

That leads to here:

Anyway, I've filed a bug/request/whatever and this is the feedback reference number: FB15249290

Thank you. Bug reports are really important when it comes to an issues like this.

My major recommendation here is that any developers who is having issues with this file a bug and then post the bug number here. As part of that bug report, I'd recommend including the specifics of the product you're using it in, not simply the fact that it's broken. Bug reports are not simply about reporting specific issues to us, they're also (and, in this case, primarily) about documenting the problems the the bug is causing so we can properly prioritize work.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

I'm looking any other way to enable the extension but I haven't found any yet and I'm not optimistic that I'll find one.

One can use /usr/bin/pluginkit.

As part of that bug report, I'd recommend including the specifics of the product you're using it in, not simply the fact that it's broken.

I believe I gave correct and sufficient description of the problem here. There's nothing special about the "product using it", it's just an application hosting a FinderSync extension and we need a way to manage those extensions, like any others.

The next major release of my product is delayed because of this issue. And this definitely seems like a bug in the OS itself and not dependent on specific products. An OS feature has basically gone missing.

Is pluginkit a valid workaround? I mean, it works, but I don't know if it's something that will be revoked without an official fix. Is there some assurance that Finder Sync Extensions are at least not being phased out and will continue to be supported?

FBA #FB15300624 even if it's just a "me too" report.

Is pluginkit a valid workaround? I mean, it works, but I don't know if it's something that will be revoked without an official fix.

Yes and no. A few different points to be aware of:

  • It's certainly not something I would assume will work "forever" and architect your app around.

  • It works when through terminal or when run by a non-sandboxed app, but it will not work when launched by a sandboxed app.

  • It does work today and the team is very aware that it's currently the only option on macOS 15.0. Given that reality, I expect it to continue working at least until this issue is resolved.

Is there some assurance that Finder Sync Extensions are at least not being phased out and will continue to be supported?

Finder Sync Extensions have not been deprecated and are fully supported on macOS 15.0. The issue here was entirely unintentional and primarily a side effect of other changes, not the extension point itself.

Having said that, it's also true that file sync use case FinderSync Extensions were designed address has been largely replaced by the newer (and superior) replicated file provider architecture. From that perspective, I'll say two things:

  1. Cloud/File Sync applications should be moving over to the file provider, assuming they haven't already, as it's simply a "better" overall architecture.

  2. If there is something that's preventing you from using file provider and/or you're using FinderSync outside of it's recommended use case, I would strongly recommend filing bugs and enhancement requests documenting what you're using it for today and what changes or improvements you'd like to see in the future. This is both to document that the technology is still useful and to help us understand how it's being used, given that it's original role has been replaced by a different technology.

FBA #FB15300624 even if it's just a "me too" report.

Thank you!

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

Many thanks for the clarification/assurance.

Admittedly, I am using it outside of its recommended use case so will file an FBA once the feature is out in production.

… it's also true that file sync use case FinderSync Extensions were designed address has been largely replaced by the newer (and superior) replicated file provider architecture.

I'd like to comment on this. It's true that current documentation says:

Use this framework when you need to synchronize the contents of a local folder with a remote data source. Then provide visual feedback to the Finder…

However, the initial documentation was't that strict:

Finder Sync supports apps that synchronize the contents of a local folder with a remote data source. It improves user experience by providing immediate visual feedback directly in the Finder

The word "supports" doesn't imply a limitation (English is not my first language, so I may be wrong). I believe many other developers understood it the same as me, especially considering the fact that Finder Sync extensions provide a way to add custom menu items to Finder's contextual menu. I think most developers saw it as a sort of continuation of old CMPlugin API from MacOS (yes, the capital 'M') 8/9 days, which was available until Mac OS 10.6 Snow Leopard. It's seen as a way to extend Finder's capabilities, by executing custom operations (not limited to "synchronize the contents of a local folder with a remote data source") on files selected in Finder.

I think I know about 50 - 60 applications embedding Finder Sync extensions at the moment, and only a dozen of them actually "synchronize the contents of a local folder with a remote data source", mostly coming from huge and well known cloud providers (Dropbox, Google, Microsoft…). All others, mostly coming from independent Mac developers, offer some custom operations of files selected in Finder, nothing related to any sort of syncing. I believe MR_Noodle's case is the similar one, "outside of its recommended use case".

Taking the above into consideration, I think it'd be a huge mistake for Apple to discontinue and deprecate Finder Sync extensions without providing functionally equivalent replacement. That would break a lot of third party Mac software and render those applications completely useless. I say that because I'm starting to think that's actually going to happen. First we had "Finder Extensions" settings section missing in System Settings on Ventura (it was there in the early versions, but disappeared in the latter ones), leaving "Added Extensions" as the only place to manage Finder Sync extensions on Ventura and later. And now "Added Extensions" is missing as well. Similar actions on Apple's part in the past usually meant deprecation of technology and I'm afraid this is such case, but I really hope it is not!

I'd appreciate if this comment is somehow passed to people in charge of future development directions of macOS and that they will seriously consider what was said here. Thanks a lot!

In the meanwhile, until Apple hopefully fix the issue and put settings section back into System Settings application, if you don't want to kick-off terminal and use pluginkit, you can try FinderSyncer (https://zigz.ag/FinderSyncer - no inline link, since "This domain "https://zigz.ag" is not a permitted domain on this forums" 😐)

I have a few Finder extension apps. None of them do any kind of syncing. All of them add actions to Finder via a custom toolbar button and/or context menu items.

It's been a long time and I do remember them being introduced as "Finder Sync Extensions." At some point I thought they were renamed to "Finder Extensions." I still have a Mac running macOS Monterey and in System Preferences the section is called "Finder Extensions" not "Finder Sync Extensions."

My interpretation of this was that this was an acknowledgement that these extensions may not be related to syncing (and do not necessarily have to be related to syncing). I do hope I'm not wrong about that, being that there are so many "Finder extensions" like this on the Mac App Store that were approved.


Just to chime in as far as pluginkit goes, I have an outside the Mac App Store app that has been using this for years to re-enable a Finder extension after a software update (if the extension was enabled prior to updating) because a software update would cause the extension to automatically disable after the app was replaced (forcing the user to go back into Settings). So pluginkit in my case was needed to avoid customer support emails like "I updated the app and now the Finder extension is broken). PluginKit doesn't help Mac App Store / sandboxed apps though as already mentioned but hopefully pluginkit won't be removed because it still serves a purpose...


Far as my Mac App Store sandboxed apps go, I had them all enabled before updating to Sequoia and they still appear and work. But new customers purchasing on Sequoia can't enable them? And existing customers that had them enabled can't disable them unless they are wizards and know how to use pluginkit from Terminal?

@Macho Man Randy Savage, you can achieve all things (and much more) pluginkit does more elegantly using private NSExtension class. It works from sandboxed applications as well, but you can't distribute in the Mac App Store for obvious reasons. And when it comes to extension enabling/disabling, it's just one line of code, giving you both the boolean result of the operation and an NSError instance in case the operation failed.

@milke Indeed. I just wanted to add how I'm using pluginkit in an app outside the Mac App Store since Kevin made this point about pluginkit when asked if it was a valid workaround:

Yes and no. A few different points to be aware of: It's certainly not something I would assume will work >"forever" and architect your app around.

I use pluginkit, and have been for years for the reason I described in my previous post. It wouldn't be good for devs if they deprecated it without replacing it with something that could achieve equivalent functionality. I just wanted to put that out there in the universe.

As far as my sandboxed Mac App Store Finder extensions go, there is no workaround and I'm in the same boat as everyone else. I can only explain to users how to enable the extension in Terminal or recommend the FinderSyncer app (or write my own which I do not want to spend time doing right now).

Should the original answer recommending https://developer.apple.com/documentation/extensionkit/exappextensionbrowserviewcontroller?language=objc be unmarked as the Apple recommended correct answer in this thread?

Should the original answer recommending https://developer.apple.com/documentation/extensionkit/exappextensionbrowserviewcontroller?language=objc be unmarked as the Apple recommended correct answer in this thread?

No, it doesn't work. See Kevin's response to me regarding that.

If you view the original post this answer looks like it's the accepted answer (I don't think the OP marked it as the accepted answer). But it looks that way and is badged "Apple recommended."

Since this suggestion didn't work the answer shouldn't be pinned to the original post and badged Apple recommended IMO.

I'm not sure how it works, I think only the initial poster (the owner of the thread) and possibly forum admins can recommend/unrecommend answers. But this one is clearly wrong and the recommendation should be removed.

The word "supports" doesn't imply a limitation (English is not my first language, so I may be wrong).

As a general, rule this kind of language in our documentation should be read as "use it for this, don't use it for other things".

I believe many other developers understood it the same as me, especially considering the fact that Finder Sync extensions provide a way to add custom menu items to Finder's contextual menu. I think most developers saw it as a sort of continuation of old CMPlugin API from MacOS (yes, the capital 'M') 8/9 days, which was available until Mac OS 10.6 Snow Leopard.

While that may be true at a surface level, anyone whose actually tried to use it as a general "expansion" mechanism will very quickly notice that it significant issues and limitations. For example:

  • It only allows on FinderSync extension to "control" any given directory and doesn't handle that nesting very well. Having an "outer" FinderSync extension will prevent extensions from working properly in child directories.

  • There are many directories where it simply doesn't work, notably "/Applications/".

I'm well aware that the extension point was used for much broader use cases, but I also thing it was pretty clear from the APIs general behavior that it wasn't really designed for that.

First we had "Finder Extensions" settings section missing in System Settings on Ventura (it was there in the early versions, but disappeared in the latter ones), leaving "Added Extensions" as the only place to manage Finder Sync extensions on Ventura and later. And now "Added Extensions" is missing as well. Similar actions on Apple's part in the past usually meant deprecation of technology and I'm afraid this is such case, but I really hope it is not!

I'm not going to talk about our future plans but the reality is that the FinderSync extension is not a particularly "good" part of the current system. As a tool for cloud syncing apps (again, it's primary role), it's been completely replaced by a superior API (Replicated File Provider). As a general mechanism for extending the Finder, it's never been a particularly good solution, as that's a role that it was simply never designed to fulfil.

That leads to here:

I'd appreciate if this comment is somehow passed to people in charge of future development directions of macOS and that they will seriously consider what was said here.

I've already discussed this with the engineering team, but the most useful thing you can do here is filing bugs and enhancement requests describing what you're actually doing and how you'd like things to work. This is the point to document what you're doing and why it's important so the engineering team can make the right decisions about how this should work going forward. Bugs are critical here, as they provide they're the concrete documentation the engineering team uses to decide what to prioritize and focus on. Speaking for myself, it's far easier to argue that an issue need attention when I can point to a set of bugs on that issue.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

@Kevin, I hope my response won’t sound like beginning of some argument. I understand you present the case from the point of view of Apple product and DTS engineers and I appreciate very much your input and everything you post here. However, I really feel an urge to comment on some of the points you made in your latest post. I'm trying to present the point of view of a small independent developer, who adopted Finder Sync API for certain reasons and built some software around it.

As a general, rule this kind of language in our documentation should be read as "use it for this, don't use it for other things".

I don’t know how the documentation “should be read”, I just know that to me it sounds like not putting limitations on usage of Finder Sync API to remote content/data syncing only. I may be wrong about it, but my estimation is that the current ratio of still maintained third party applications embedding Finder Sync extensions is about 6 to 7 agains 1 in favor of those, which don’t do anything related to remote content/data syncing (and that includes all content/data syncing applications before they adopted File Provider API). I think that says enough about how developers outside Apple understood the scope of usage for Finder Sync API. I understand that intentions of Apple engineers might be different, but the reality is quite different and Finder Sync API has created the whole ecosystem of third party applications embedding these extensions, which do nothing related to remote content/data syncing.

I'm well aware that the extension point was used for much broader use cases, but I also think it was pretty clear from the APIs general behavior that it wasn't really designed for that.

I have to disagree with “it was pretty clear from the APIs general behavior that it wasn't really designed for that” here. Again, it doesn’t matter what the intention was, it matters how people actually use it. Most of them see and use it as a way to extend Finder’s “capabilities”. Let me try to elaborate even further…

Finder Sync API is rather small and simple. It consists of two classes (one acting only as an abstract class, meant to be subclassed and used as the entry point to extension execution) and one protocol. All of them comprise of less than a dozen of methods. None of those methods has to do anything with syncing remote content/data. While almost every class and method name, as well as their functionality, in File Provider API clearly shows API's intended use scope, the whole Finder Sync API is about monitoring local directories (that Finder “enters” and “exits”), adding badges to icons displayed in Finder and adding menu items to files selected in Finder. Nothing, absolutely nothing of this is in any way related to syncing remote data/content. The only thing related to (any kind of whatever) syncing in Finder Sync API is its name. The methods in the API simply “beg” to be used to add Finder functionality with icon badges and additional menu items. And like I’ve pointed it out at the beginning of this long reply, it seems that the vast majority of developers use it that way.

… but the reality is that the FinderSync extension is not a particularly "good" part of the current system.

I don’t know the internals of the current system to comment whether Finder Sync extension is “good part” of it or not. All I’m trying to say is that Apple, apparently unintentionally, created the whole ecosystem of applications using the API outside of its “originally intended” scope, just because the scope wasn’t clearly communicated (I still maintain that strong opinion), neither in the documentation, nor in the API functionality.

As a general mechanism for extending the Finder, it's never been a particularly good solution, as that's a role that it was simply never designed to fulfill… While that may be true at a surface level, anyone whose actually tried to use it as a general "expansion" mechanism will very quickly notice that it significant issues and limitations.

I agree with the examples you've stated here, but as a third part application developer, I think Finder Sync does a pretty good job in extending Finder’s functionality, apart from some obvious things (some of which you mentioned), like two or more extensions fighting over which one will present its icon badge if they monitor same directories and, as mentioned, inability to monitor certain folders ``(/Applications,iCloud Drive, actually ~/Library/MobileDocuments and some others). There are some points of improvements and I’ve already filed some bugs/requests, but they seemed to be completely ignored (some for years) and now, seeing how Apple engineers see Finder Sync API and how it "should be used", I’m not surprised.

The fact is, Finder Sync API scope of usage is way broader than Apple initially intended (apparently). It seems the vast majority of developers see it as a way to extend Finder’s functionality. Therefore, if it isn’t “good part” of the system, PLEASE make it so (whatever that means). Or if you don't want or it isn't possible to do and you want to deprecate and discontinue it, PLEASE provide “good part” replacement with the same (and possibly more) functionality. The minority of Finder Sync extensions currently available on the market are and will be migrating to File Provider API, because they can and that API is meant for them. But if Finder Sync API is gone, the rest majority of available Finder Sync extensions will die with it as well.

After all, the vibrancy and longevity of a computing platform depends on the availability of versatile third party software solutions. I think it’s in nobody’s interest to kill something (without providing equivalent replacement) that contribute to that vibrancy and versatility.

…but the most useful thing you can do here is filing bugs and enhancement requests describing what you're actually doing and how you'd like things to work. This is the point to document what you're doing and why it's important so the engineering team can make the right decisions about how this should work going forward. Bugs are critical here, as they provide they're the concrete documentation the engineering team uses to decide what to prioritize and focus on.

I completely agree with this and I've already filled a few bugs enhancement requests for Finder Sync API, but so far they have been ignored. However, I will continue doing so. However, the initial reason for this thread is not any functionality of Finder Sync API, but the missing settings for those extensions in System Settings application in Sequoia. I've filed such bug/enhancement request already, FB15249290. So far, it's been completely ignored for more than 10 days, I haven't been notified whether at least it's a duplicate of some other request.

I understand you present the case from the point of view of Apple product and DTS engineers and I appreciate very much your input and everything you post here.

I think that's a very important point to understand here. My goal here is to help you understand how are system works and to help you make good development choices. My role is primarily about communicating with you, not bring information "back" to Apple. While I can and do work very closely with our engineering teams, that's not my primary role That lead me to here:

I've filed such bug/enhancement request already, FB15249290. So far, it's been completely ignored for more than 10 days, I haven't been notified whether at least it's a duplicate of some other request.

I'm not sure what happened there. The bug was actually looked at and marked as a duplicate by the engineering team on 9/26, and I'm not sure why that wouldn't have been immediately visible to you. Note that this is exactly what I (and you) wanted to happen, as the bug it was dup'd is to the existing bug which is being used to manage this issue.

Again, the key point to understand here is that the reason for filing most bugs isn't to "tell us" about the problem. The reason to file bugs is to document that the problem you're having so that we can properly assess how wide spread the issue is and the level of damage it's creating.

I completely agree with this and I've already filled a few bugs enhancement requests for Finder Sync API, but so far they have been ignored.

Bug numbers?

I don’t know how the documentation “should be read”, I just know that to me it sounds like not putting limitations on usage of Finder Sync API to remote content/data syncing only.

The term "support" in this context means "this is who the API was created for". Your right that nothing prevents you from using it for other contexts, however, the reason that kind of language is included is to tell let you know what user cases the system has committed itself to supporting.

I may be wrong about it, but my estimation is that the current ratio of still maintained third party applications embedding Finder Sync extensions is about 6 to 7 agains 1 in favor of those, which don’t do anything related to remote content/data syncing (and that includes all content/data syncing applications before they adopted File Provider API).

A critical issue to understand here is that, by necessity, Apple has to focus on how an issue impacts users, not individual apps. A bug that breaks 1 app with 100 million users is a much bigger problem (for us) than a bug that breaks 100 apps with 100,000 users.

I think that says enough about how developers outside Apple understood the scope of usage for Finder Sync API.

I want to be clear about what my concern here actually is. At a personal level, I have no particular objection to apps using FinderSync extensions to implement clever and intersting things. I'm also not surprised that this occurred. Finding new and creative ways to user out APIs to do things that they weren't really intended to do has a long and illustrious history.

My concern here is with the idea that our documentation wasn't clear about what this was "for" and that using it outside of that space carried a certain amount of risk:

All I’m trying to say is that Apple, apparently unintentionally, created the whole ecosystem of applications using the API outside of its “originally intended” scope, just because the scope wasn’t clearly communicated (I still maintain that strong opinion), neither in the documentation, nor in the API functionality.

Our documentation was and is very clear about how we expect this extension point to be used. The first sentence of the document that originally introduced and still acts as it's primary documentation source says:

"In OS X, the Finder Sync extension point lets you cleanly and safely modify the Finder’s user interface to express file synchronization status and control. "

Then later:

"Make sure the Finder Sync extension point is appropriate for the functionality you plan to provide. The best Finder Sync extensions support apps that sync the contents of a local folder with a remote data source."

And also:

"Finder Sync is not intended as a general tool for modifying the Finder’s user interface."

Particularly with that last point, I'm not sure how this could have been any more clear.

Having said all that...

Therefore, if it isn’t “good part” of the system, PLEASE make it so (whatever that means). Or if you don't want or it isn't possible to do and you want to deprecate and discontinue it, PLEASE provide “good part” replacement with the same (and possibly more) functionality.

I don't think it's inherently unreasonable to want the Finder to provide an API that supports the kind functionality FinderSync has provided. I'd like to make sure great product continue to work well on macOS.

The best way you can help ensure that is by filing bugs telling the engineering team what you're currently doing with it and what you'd like it to handle better. If you've filed bug on this already, then please post the bug numbers here.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

Like @mike I do appreciate your response. I especially appreciate your other responses on several issues on other posts and to me specifically in an DTS incident. I think it helps us all become better developers (we all don't have degrees from Stanford after all). I did have a few knee-jerk reactions reading some of the responses here. I decided to take a deep breath and think on it a bit before replying.

I appreciate that you confirmed the original issue reported here (that the "Finder Extensions" section has completely disappeared from System Settings) is indeed a bug and not intended behavior. This was done without prior warning. If you do deprecate an API without introducing a feature equivalent replacement, this isn't the way to do it.

I think it is reasonable that others inquired about the future of Finder Extensions in response to all this. I don't think it is particularly helpful to point out that the intended use of an API is not what Apple expected. I know you probably didn't mean it that way but when you read it, it could feel like a cop out. "You were holding it wrong the entire time, so if the section in Systems Settings disappears that's on you." Again I don't think that's how YOU intended it to come across. But that's how developers could feel, reading it (at least initially). I think you were recommending that you move to a newer API (which if we could, we would but that newer API doesn't support what we are doing).

I consider App Development to be a creative field and I think you touched on this in your previous post. The fact that developers are quick to ask if this bug is a sign of future deprecation speaks to the fact that they have probably been burned before.

Apple has to focus on how an issue impacts users, not individual apps. A bug that breaks 1 app with 100 million users is a much bigger problem (for us) than a bug that breaks 100 apps with 100,000 users.

This makes a lot of sense. We all have to prioritize issues and user impact is very important. However, I've reported countless bugs over the years (many of which are low-hanging fruit which you should be able to fix in 15 minutes but often never get fixed). While I don't have 100 million users, I imagine that such low hanging fruit impacts a lot of regular users across many apps (many of whom don't even know how to report bugs to Apple). You can't reasonably expect us to keep filing bugs if you seem to never fix them, at least not in a timely manner (presumably because we don't have millions of users).

Again @Kevin, I'd like to stress how much I appreciate your feedback here. If we disagree on something, it's not a reason to turn this into a heated discussion.

ABOUT DOCUMENTATION

I really apologize, but I have to touch the subject of documentation once again, I promise it will be for the last time… It may very well be that I didn't get it quite right because of not being a native English speaker. Or maybe even more so because I really liked the existence of old CMPlugin (macOS 10.6 Leopard or older) and hated when it was discontinued (but I admit, it was discontinued for good reasons) that I perhaps immediately saw Finder Sync as a sort of its revival. Those things might have influenced a lot my ideas of potential usage for Finder Sync. But I still maintain that the documentation wasn't clear about its ONLY INTENDED usage (remote content/data syncing). Yes, the very first sentence of the original document says:

In OS X, the Finder Sync extension point lets you cleanly and safely modify the Finder’s user interface to express file synchronization status and control.

But why the "synchronization status and control" necessarily has to mean remote content/data syncing? Why can't it be, for example, synchronization and control with file's git status in the repository it resides in? Yes, later it says:

The best Finder Sync extensions support apps that sync the contents of a local folder with a remote data source.

Okay, I don't care about "the best" extension, I care about ones, which do the job they're intended to do. Yes, it also says:

Finder Sync is not intended as a general tool for modifying the Finder’s user interface.

But the very first paragraph also clearly says:

Finder Sync does not add features to a host app. Instead, it lets you modify the behavior of the Finder itself.

And that's what the majority of Finder Sync extensions do, they "modify the behavior of the Finder itself" by providing some additional features/operations users can invoke on files selected in Finder.

I'm bragging about all this just to show that we can keep "analyzing" the language and semantics of the documentation and every person would understand it in some different way. The fact that majority of Finder Sync extensions currently available do things outside of Apple's ONLY INTENDED scope says enough about how developers understood the documentation, or even at the expense of completely ignoring the docs, where they saw extensions' best use cases. Or let's say it like you did, all those developers were creative.

But the current reality is the existing scope of usage, which is much broader than Apple (apparently) originally intended it to be. So the question now is whether Apple wants to keep this ecosystem of "wrongly used" Finder Sync extensions and hopefully enhance it and make it even better and more thriving, or completely slash it, by deprecating and discontinuing "FinderSync Framework" and the API, now that File Provider Framework is available for the "intended usage". And if slashing it, if any replacement with the same or better functionality will come along.

ABOUT THE "BUG" WHICH STARTED THIS THREAD

It's very simple. The bug is Finder Sync Extension settings missing from System Settings application in macOS 15 Sequoia. I've already submitted it like FB15249290 and informed you here. I see the current status says:

Recent Similar Reports: Less than 10

Resolution: Potential fix identified - For a future OS update

This sounds encouraging, I only wonder what a "potential fix" really means, how huge that potential is? As well as what "a future OS update" will be. I still don't see any changes in the latest developer beta version of macOS 15.1 and I only hope that future update won't be macOS 16.0. But I've already been burned before, when some bugs actually waited for the next major OS version to get fixed.

Anyway, I even wonder now if this was just a bug, or a deliberate decision. It seems just too big of an omission to be an error. I'm afraid it is a sign of slow deprecation and discontinuation of Finder Sync extensions.

Another worrying sign, leading to the same conclusion, is that now, when you try to file a feedback using Feedback Assistant, if you choose to file a feedback on "Developer Technologies & SDKs" and for the platform choose "macOS" in the "Which technology does your report involve?" drop-down menu, there IS NOT File Sync Framework listed! There is File Provider Framework and many other frameworks available on macOS, but not Finder Sync!

And then we go back to the question what are Apple's plans for the whole ecosystem of 3rd party Finder Sync extensions available at the market. Will they be slashed? Will something else come to replace the needed API? Like @Macho Man said, I react like this because I was burned before in the similar way.

Continued in the following post…

Continued from the previous post…

CURRENT BUGS

Bug numbers?

I have to admit that the current state of Finder Sync extensions work pretty well for me. The only two problems I have are inability to monitor "iCloud Drive" folder and fight over which extension shows an icon badge for files in case more extensions monitor the same folder(s)

I also admit Apple was very responsive to some initial feedback I filed (not bugs, more feature requests). For example, the first version in macOS 10.10 Yosemite was very limited when it came to menu items, which extensions could provide in Finder, the menu items could have only a title and an image. On my (and probably others') suggestion, menu items got submenu, tag, indentation, state… Still, even though I reported it in early macOS 10.10 Yosemite, we had to wait until macOS 10.11 for those additions. But at least, we got them. There was also a bug (FB6006515), which happened during the transition to macOS 10.11 El Capitan, which I unfortunately noticed quite late in 10.11.3 and it was quickly fixed in 10.11.4.

But I also filed a couple of feedbacks (one bug and some feature requests) and nothing has been done with them ever since. Here they are (chronologically ordered):

FB5736785 - created on October 27, 2017 (seven years ago), at the time the Feedback Assistant wasn't the thing, hence recreated from the radar ID 35220999. There's a status update from November 2, 2017, saying that the issue is a duplicate of another one and hence will be closed. It was never closed, nor resolved/implemented. I pinged it twice, in August 3, 2021 (three years ago, four years after initial creation), nothing. Triggered by this discussion thread, I pinged it again on October 12, 2024, let's see if something happens this time.

FB9476028 - created on August 9, 2021 (four years ago). Never received any feedback or update. Now that I understand what the original usage scope for Finder Sync extension was, I kind of understand why this doesn't work; it's about "iCloud Drive" special folder. Since Apple's own syncing extension, with a custom extension point, operates on this folder, it's kind of understandable that Apple doesn't want other extensions to mess with it. Still, it'd be nice to get a status back as closing the issue with, or making it work, now that Apple knows Finder Sync extension have much broader scope of usage ;-)

FB9449243 - created on August 3, 2021 (four years ago). Never received any feedback or update. Also related to "iCloud Drive", so it's kind of understandable now why it doesn't work/ But it's be nice if it worked, now that Apple knows Finder Sync extension have much broader scope of usage ;-)

FB15473186 - created on October 12, 2024. I created this one encouraged by you @Kevin, saying that we should provide as much feedback as possible to improve the current state of the matters and that all feedback will eventually be looked into. This one is just an enhancement request, for some better and more user friendly functionality of the menu items provided to Finder from Finder Sync extensions.

FB15482977 - another one created on October 12, 2024, due to above mentioned encouragement. I admit this one is quite specific and it would come VERY HANDY for the product I have, but it also may help other Finder Sync developers with similar needs, which I don't know about. It concerns the case when extension wants to provide many menu items back to Finder. That may require a lot of time and cause glitches in the UI. In case those many menu items are organized hierarchically in submenus, there could be a way to avoid delay and create each submenu on Finder's request.

That's it (for now ;-))

FinderSync extensions gone in macOS settings
 
 
Q