Ich entwickle eine App und ich möchte Zugriff auf die /User/<username>/Library/Containers
Ordner, um einige Daten zu lesen.Zugriff auf/Benutzer/Library/Container/<identifier> in Sandbox
Beim Iterieren über die Dateien werden keine Daten zurückgegeben, bis ich eine NSOpenPanel
an diesem bestimmten Speicherort öffnen. Dieses Verhalten ist zu erwarten, da die App Sandboxed ist.
Ich habe eine andere App installiert, die "AppManager" heißt (Sandboxed, verfügbar im App Store). Die App liest auch Daten aus diesem Ordner, aber ich muss nur die NSOpenPanel
auf dem /Applications
Ordner öffnen.
Ich lese über die FileManager
Methode URLForDirectory:inDomain:appropriateForURL:create:error:
, die ein guter Ausgangspunkt scheint, aber irgendwie ist diese Methode nicht verfügbar?
Wie (wenn möglich) kann eine Sandbox-App auf /User/<username>/Library/Containers
zugreifen, ohne eine NSOpenPanel
zu öffnen? Kann ich Zugang zu mehr als einem Verzeichnis erhalten, indem ich nur eine NSOpenPanel
öffne?
Grüße, Sascha
Hallo, ich bevorzuge auch diese Methode. Ich war nur neugierig, wie die angegebene App das macht. Es fragt nach/Applications und erhält Zugriff auf/Users//Library. –
Vielleicht ist die App alt (Pre-Sandboxing) oder vielleicht liest sie nur ihren eigenen Container (Sie haben immer den Zugriff darauf) – Alistra
Das letzte Update wurde letztes Jahr veröffentlicht, also ist es sandboxed (oder sonst würde es nicht angezeigt werden (ein Dialog anyways) und die App löscht Dateien aus diesen Verzeichnissen, so dass sie vollen Zugriff auf/Library/ihres eigenen Containers hat. Ziemlich seltsam. –