2012-09-11 2 views
8

Meine App ist Sandkasten (gemäß den neuesten App Store-Richtlinien), und ich möchte einige temporäre Dateien erstellen.Temporäre Datei für eine Sandbox-Cocoa-Anwendung erstellen

Darf ich das tun? Wenn ja, wo darf ich das machen? Gibt es einen vorgegebenen Pfad? (Und ein Befehl, um auf diesen Pfad zuzugreifen?)

+0

Bitte posten Sie Ihre Lösung als eine Antwort, anstatt sie dem Fragenkörper hinzuzufügen. –

Antwort

12

Sie sollten die Funktion NSTemporaryDirectory() verwenden, die den entsprechenden temporären Ordner für Ihre Anwendung finden und zurückgeben wird (unabhängig vom Sandbox-Status, der Betriebssystemversion und vielen anderen Dingen). Werfen Sie einen Blick auf this Cocoa With Love Post für viel mehr Details über NSTemporaryDirectory() und andere temporäre verzeichnisbezogene Details.

5

Es gibt einen guten Artikel über temporäre Verzeichnisse auf NSHipster:

http://nshipster.com/nstemporarydirectory/

Der Autor schlägt vor, diesen Code, die auch perfekt mit Sandbox Apps funktioniert:

NSError *error; 
NSString *globallyUniqueString = [[NSProcessInfo processInfo] globallyUniqueString]; 
NSString *tempDirectoryPath = [NSTemporaryDirectory() stringByAppendingPathComponent:globallyUniqueString]; 
NSURL *tempDirectoryURL = [NSURL fileURLWithPath:tempDirectoryPath isDirectory:YES]; 
[[NSFileManager defaultManager] createDirectoryAtURL:tempDirectoryURL withIntermediateDirectories:YES attributes:nil error:&error]; 
Verwandte Themen