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:
-
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).
-
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.