Ich schreibe eine Anwendung für die Apple Watch. Ich verwende die folgende Methode (von this SE answer) in eine Protokolldatei zu schreiben: esLeere Dokumente Verzeichnis nach dem Erstellen der Datei mit NSFileHandle
- (void) writeLogWith: (NSString *) content {
//Get the file path
NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *fileName = [documentsDirectory stringByAppendingPathComponent:@"whathappened.md"];
//create file if it doesn't exist
if(![[NSFileManager defaultManager] fileExistsAtPath:fileName])
[[NSFileManager defaultManager] createFileAtPath:fileName contents:nil attributes:nil];
//append text to file (you'll probably want to add a newline every write)
NSFileHandle *file = [NSFileHandle fileHandleForUpdatingAtPath:fileName];
[file seekToEndOfFile];
[file writeData:[content dataUsingEncoding:NSUTF8StringEncoding]];
[file closeFile];
return;
}
Ich laufe durch in meinem Telefon anschließen und direkt auf meiner Uhr läuft. Die Funktion wird definitiv ausgeführt (ich habe mit dem Debugger gedacht) und weiß auch, dass die Datei existiert und nicht wiederholt versucht, sie zu erstellen.
Xcode sagt mir, dass die Dateiinformationen:
Printing description of documentsDirectory:
/var/mobile/Containers/Data/PluginKitPlugin/8503AD6C-6EC9-4522-A867-27109B01B615/Documents
Printing description of documentsDirectory:
(NSString *) documentsDirectory = 0x16d66890
Printing description of fileName:
(NSString *) fileName = 0x16d66950
Printing description of fileName:
/var/mobile/Containers/Data/PluginKitPlugin/8503AD6C-6EC9-4522-A867-27109B01B615/Documents/whathappened.md
Ich mag wissen würde, wenn es die Dinge richtig zu schreiben, aber wenn ich am Behälter aussehen (nach these SE answers), das Dokumentenverzeichnis leer ist.
Meine Frage ist: Wohin ging meine Datei? Und wie kann ich es finden?
Haben Sie, dass die Datei geschrieben zu werden, ist eigentlich überprüft? –
Das ist etwas, was ich versuche zu tun. Wenn ich die if-Anweisung durchtrete, antwortet sie, als ob die Datei existiert ... – Joe
Hat meine Antwort Ihnen geholfen? Versuchen Sie, meinen gesamten Code zu kopieren und zu verwenden. –