Pfad zu den Benutzern abrufen Bibliotheksordner in OS X

8

Ich muss ein NSSavePanel mit dem Benutzer Bibliotheksordner als Zielordner öffnen. Normalerweise würde ich dies tun, indem Sie ~/Library/ in [NSSavePanel beginSheetForDirectory] eingeben.

Dies funktioniert gut, solange die Anwendung nicht sandboxed ist. Bei Sandbox-Anwendungen führt dies dazu, dass NSSavePanel versucht, auf einen Ordner innerhalb der Anwendungsdokument-Box zuzugreifen.

Ich kann nicht auf /Users/username/Library/ verweisen, da ich die Benutzer username zur Laufzeit nicht kenne. Also, wie verbinde ich diesen Weg mit Kakao?

    
Øystein 03.11.2011, 10:26
quelle

3 Antworten

2

Ich bin mir nicht sicher, ob das auf einer Sandbox-Anwendung funktioniert, aber so mache ich es jetzt. Dies wird / User / TheirUserName

zurückgeben %Vor%     
syclonefx 03.11.2011, 22:11
quelle
12

Ich bin mir nicht sicher, wie Sandboxing dazu passt, aber Sie finden das Bibliotheksverzeichnis des Benutzers mit:

%Vor%     
JWWalker 03.11.2011 22:39
quelle
0

Es hängt davon ab, was Sie erreichen wollen.

  • Wenn das Verhalten für Ihre Anwendung erforderlich ist, können Sie eine temporäre Ausnahmeberechtigung , wenn die Anwendung an den Mac App Store gesendet wird. Aber früher oder später müssen Sie eine Lösung finden, um diese Ausnahme zu entfernen.
  • Wenn Sie auf Daten zugreifen möchten, die zuvor im Ordner ~/Library/ gespeichert waren, können Sie eine Migrationsstrategie , um die Daten zurück in die Sandbox zu verschieben.
Laurent Etiemble 03.11.2011 18:11
quelle