2017-07-26 5 views
1

J'ai créé une simple extension Finder Sync (FinderSync) et elle est fournie par défaut avec App Sandbox ON (dans .ititlements com.apple.security.app-sandbox true).Synchronisation du Finder avec l'application Sandbox OFF désactivée

Tout fonctionne correctement mais j'ai besoin d'accéder à un dossier spécifique sur le macOS via cette extension et je ne peux pas le faire avec le Sandbox.

J'ai désactivé le bac à sable mais l'extension n'est plus chargée dans le Finder. Vous avez des commentaires à ce sujet? Des solutions de contournement?

+1

Voyez-vous votre plugin dans les Préférences Système -> Extensions? Si oui, les messages de la console lorsque vous essayez d'activer votre plugin? – dejuknow

+0

@dejuknow https://stackoverflow.com/a/31265260/1889814 utilisé, il est installé si l'option sandbox dans les droits est activée. Si ce n'est pas activé, le plugin n'est pas _run_/est attaché au processus du Finder. (essayé de relancer Finder plusieurs fois, ne fonctionne qu'avec sandbox). http://imgur.com/a/ij3ER – StefanS

+0

Et il disparaît des Préférences Système -> Extensions quand je l'arrête de XCode. – StefanS

Répondre

2

Les extensions Finder Sync doivent être en sandbox. Je ne pouvais pas trouver cette exigence explicitement documenté nulle part, mais l'erreur suivante apparaît dans votre journal système si ce n'est pas sandbox:

PKD [255]: en ignorant une mauvaise configuration plug-in dans/Applications/Liferay \ Sync .app/Contents/Plug-ins/LiferayFinderSync.appex: plug-ins doivent être sandbox

Si vous avez besoin d'accéder à un dossier en dehors du conteneur de votre application, vous pouvez utiliser temporary exception entitlements comme « com.apple.security.temporary-exception .files.home-relative-path.read-only ". Notez que les applications envoyées sur le Mac App Store en utilisant ces droits seront probablement rejetées.

+0

également https://stackoverflow.com/a/45620579/1889814 – StefanS

+0

note importante, si vous vous trouvez en train de tuer Finder trop souvent pour obtenir le plugin chargé, ne le faites pas. corrige les permissions. – StefanS