2012-08-28 7 views
6

Das NSSavePanel gibt also eine Datei-URL mit Erweiterung zurück, und Ihre App hat die Berechtigung, in diese Datei zu schreiben.Cocoa Sandbox: So erhalten Sie die Berechtigung zum Schreiben mehrerer Dateien oder eines Verzeichnisses mit NSSavePanel

Gibt es eine Möglichkeit, dem Benutzer zu ermöglichen, ein Verzeichnis auszuwählen, in das geschrieben werden soll? Wenn die App beispielsweise ein Dutzend Bilder gleichzeitig exportiert, werden die Namen nicht im Voraus vom Benutzer angegeben.

+1

Haben Sie NSOpenPanel ausprobiert? – Samir

+1

Das 'NSOpenPanel' ist wahrscheinlich der richtige Weg. Sie bitten den Benutzer, einen Exportspeicherort auszuwählen. Das hat nichts mit Sandboxing zu tun, es ist einfach nicht das, wofür 'NSSavePanel' gedacht ist. Es ist zum Angeben einer bestimmten Datei gedacht. – Dov

+0

also wie erhalten Sie die Sandbox, um die Erstellung der Dateien zu erlauben, sobald der Exportort ausgewählt ist? – ekscrypto

Antwort

2

Sie benötigen NSOpenPanel.

NSOpenPanel * openPanel = [NSOpenPanel openPanel]; 
[openPanel setCanChooseFiles:NO]; 
[openPanel setCanChooseDirectories:YES]; 
[openPanel setAllowsMultipleSelection:NO];