OS X FinderSync schlägt fehl für / Volumes

8

Ich erstelle ein einfaches FinderSync , das hinzugefügt wird ein Menüelement zum Kontroll- / Rechtsklickmenü für alle Dateien:

%Vor%

Es funktioniert großartig (der Menüeintrag erscheint usw.) für alle Dateien, außer die in /Volumes Seltsamerweise, wenn ich manuell ein Verzeichnis in /Volumes erstelle und dort einige Dateien hinzufüge, Der Menüpunkt FinderSync erscheint, wenn ich mit der rechten Maustaste klicke. Für alle Dateien in bereitgestellten Volumes (d. H. Von einem angehängten .dmg) schlägt es jedoch fehl: kein Menüelement wird angezeigt.

Das direkte Angeben eines gemounteten Volumes in directoryURLs schlägt ebenfalls fehl:

%Vor%

Es scheint andere hatten ähnliche Probleme, also ist dies vielleicht ein bekannter Fehler / Einschränkung?

    
patrick 20.07.2016, 06:16
quelle

1 Antwort

1

Die Gruppe von Ordnern, die von einer Finder Sync-Erweiterung überwacht wird, überschreitet nicht Dateisystemgrenzen (obwohl dies in der Dokumentation von Apple nicht explizit erwähnt wird, kann es empirisch verifiziert werden und ist ab macOS 10.13 immer noch gültig .3).

Da der beabsichtigte Anwendungsfall darin besteht, bestimmte Ordner zu überwachen, die von Synchronisierungsdienstprogrammen wie Dropbox verwaltet werden, sieht Apple dies vermutlich nicht als Einschränkung. Viele Entwickler implementieren Finder Sync-Erweiterungen jedoch als eine Möglichkeit zum Hinzufügen beliebiger Elemente zum übergeordneten Kontextmenü im Finder (ohne im Untermenü Dienste eingeschränkt zu sein), obwohl diese Verwendung ausdrücklich von Apple abgeraten :

  

Stellen Sie sicher, dass der Finder Sync-Erweiterungspunkt für die Option geeignet ist   Funktionalität, die Sie bereitstellen möchten. Die besten Finder Sync-Erweiterungen   Unterstützen Sie Apps, die den Inhalt eines lokalen Ordners mit einem Remote synchronisieren   Datenquelle. Finder Sync ist nicht als allgemeines Tool für   Ändern der Benutzeroberfläche des Finders.

Um diese Einschränkung zu umgehen und den Menüeintrag der Erweiterung für jedes im Finder sichtbare Element verfügbar zu machen, müssen Sie Folgendes tun:

  1. Nach allen sichtbaren eingehängten Volumes suchen und initialisieren directoryURLs Eigenschaft des Objekts FIFinderSyncController auf das Ergebnis:

    %Vor%
  2. Da Finder Sync-Erweiterungen langlebige Prozesse sind, registrieren Sie sich für Benachrichtigungen über Volumes, die bereitgestellt, ausgehängt und umbenannt werden, und update directoryURLs entsprechend:

    %Vor%

    (Das Abmelden und Umbenennen von Benachrichtigungen wird als Übung belassen für den Leser.)

rsfinn 22.02.2018, 20:18
quelle