Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Delphi MacOS: Schreiben auf USB-Stick in der Sandbox (https://www.delphipraxis.net/207217-macos-schreiben-auf-usb-stick-der-sandbox.html)

philipp.hofmann 4. Mär 2021 15:10

MacOS: Schreiben auf USB-Stick in der Sandbox
 
Hi,

man hat auch unter MacOS Zugriff auf einen USB-Stick (Volumes/USB DISK/icTrainer) und wenn man einen Verzeichnis-Namen kennt, kann man auch prüfen, ob dieses existiert.
Für alle anderen Operationen muss man zuerst einmal mit SelectDirectory das Verzeichnis bestätigen und kann dann Dateien auslesen, Inhalte auflisten, Dateien schreiben, usw.
Dies muss man aber nach jedem Programm-Start von neuen aus bestätigen. Kann man dies irgendwie persistieren?

P.S.: Es hat nichts mit dem Entitlement com.apple.security.device.usb zu tun.

Grüße, Philipp

Harry Stahl 4. Mär 2021 22:51

AW: MacOS: Schreiben auf USB-Stick in der Sandbox
 
Den einzigen Weg, den ich da kenne, einen persistenten Zugriff zu erhalten, ist der Weg über sog. App-Scoped (bzw. security scopded) Bookmarks.

Bei der ersten Auswahl des Verzeichnisses setzt Du so eine Bookmark auf das Verzeichnis. Wenn Du dann beim nächsten Mal (auch nach einen erneuten Programmstart) auf die Ressource zugreifen willst, rufst Du vorher die gespeicherte Bookmark auf und dann hast Du direkten Zugriff auf die Ressource, also ohne vorherige Verwendung des Open oder Verzeichnis-Dialogs.

Falls Du mein Buch zu Delphi XE7 haben solltest, da ist es ab Seite 115-124 beschrieben (nicht im Buch zu Delphi 10.2), im Anhang ist auch eine Unit (HSW.FMX.Sandbox.pas) abgedruckt, die fehlende Funktionen in der MACapi.foundation nachrüstet und fertige Funktionen für das Anlegen und Aufrufen der Bookmarks liefert.

Ich kann Dir aber nicht sagen, ob das mit aktuellem MACOS-System noch funktioniert, da mir der Aufwand für den Store zu hoch war und ich meine MAC-OS Programme nur noch außerhalb des Stores vertreibe, ich es also selber derzeit nicht im Einsatz habe.

Leider habe ich derzeit auch keine Zeit das zu eruieren, da ich sehr stark mit einem dringenden Projekt beschäftigt bin (müsstest Du also selber rausfinden), aber ich gehe aber mal stark davon aus, dass es noch funktioniert...

philipp.hofmann 4. Mär 2021 23:42

AW: MacOS: Schreiben auf USB-Stick in der Sandbox
 
Ich habe leider das Buch zu Delphi 10.2, bin also zu neu unterwegs :-(

Harry Stahl 4. Mär 2021 23:57

AW: MacOS: Schreiben auf USB-Stick in der Sandbox
 
Zitat:

Zitat von philipp.hofmann (Beitrag 1484464)
Ich habe leider das Buch zu Delphi 10.2, bin also zu neu unterwegs :-(

Mir fällt gerade ein, dass ich vor fast 8 Jahren (man wo bleibt nur die Zeit) hier schon was dazu geschrieben habe: https://www.devpage.de/blog/firemonkey.htm

Dort der 2. Beitrag.

Du kannst zur Not hier das Buch für ein paar Euro laden und den Anhang kopieren... (da das Buch noch im Verkauf ist, kann ich aus verlagsrechtlichen Gründen hier den Anhang nicht posten oder anderweitig zur Verfügung stellen).

philipp.hofmann 5. Mär 2021 05:03

AW: MacOS: Schreiben auf USB-Stick in der Sandbox
 
Vielen Dank, dies scheint ja einigermaßen kompliziert zu sein.

Sind im PDF die Implementierungen der beiden Methoden
- startAccessingSecurityScopedResource
- stopAccessingSecurityScopedResource
gelistet? Im Blog verweist du auf den Bug-Report RSP-9755, wo ich aber spontan keine Beispiel-Implementierung sehe und der Issue wurde wegen Inaktivität (auf Seiten EMBT) vor einigen Jahren geschlossen.

Harry Stahl 5. Mär 2021 14:38

AW: MacOS: Schreiben auf USB-Stick in der Sandbox
 
PDF? Davon habe ich nichts gesagt (Link verwies auf eine Kindle-Version, aber da kann man ja den Text auch raus kopieren).

Ja, ich habe das NSURL-Interface (Re-) implementiert und die beiden fehlenden Funktionen in das Interface aufgenommen.
Leider hat EMBA die beiden fehlenden Funktionen nicht in der MACApi.Foundation.pas ergänzt.

Entweder hat das da keiner verstanden, warum man das machen sollte (kann mich nicht dran erinnern, auch nur ein Feedback erhalten zu haben) oder es gibt inzwischen eine einfachere Lösung?

Ich weiß es leider nicht.

philipp.hofmann 5. Mär 2021 14:54

AW: MacOS: Schreiben auf USB-Stick in der Sandbox
 
Ok, danke. Aus Kindle den Code zu kopieren, ist leider mühselig, da dieser meines Wissens keine Zeilenumbrüche kennt, aber dann mache ich mich da mal ran.

Harry Stahl 5. Mär 2021 17:02

AW: MacOS: Schreiben auf USB-Stick in der Sandbox
 
Zitat:

Zitat von philipp.hofmann (Beitrag 1484512)
Ok, danke. Aus Kindle den Code zu kopieren, ist leider mühselig, da dieser meines Wissens keine Zeilenumbrüche kennt, aber dann mache ich mich da mal ran.

Mir war gar nicht bewusst, dass das so doof kopiert wird.
Ich habe Dir eine private Nachricht geschickt, evtl. können wir das auch anders lösen.

philipp.hofmann 5. Mär 2021 20:21

AW: MacOS: Schreiben auf USB-Stick in der Sandbox
 
In Summe bleibt zu sagen, es funktioniert mit den Bookmarks deutlich eleganter als meiner vorherigen Lösung.

Harry Stahl 5. Mär 2021 22:26

AW: MacOS: Schreiben auf USB-Stick in der Sandbox
 
Zitat:

Zitat von philipp.hofmann (Beitrag 1484527)
In Summe bleibt zu sagen, es funktioniert mit den Bookmarks deutlich eleganter als meiner vorherigen Lösung.

OK, danke, gut zu wissen, dass die Lösung noch funktioniert....


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:21 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz