Frage

Ich entworfene eine Anwendung, die Daten an den iPod touch/iPhone liest, das über Multicast -Sockets mit UDP an sie gesendet wird, und ich muss sie als Datei in einem Dokumentverzeichnis speichern. Existiert das auf dem iPhone oder iPod touch? Ich weiß Ich sage. Ich bin mit dem iPod/iPhone -Dateiverzeichnis noch nicht so gut vertraut, daher wird jede Hilfe geschätzt! Gibt es ein "allgemeines" Verzeichnis, in dem alle Entwickler ihre Dateien speichern, wenn sie sich mit ihrer Anwendung befassen?

War es hilfreich?

Lösung

Sie sollten das Dokumentenverzeichnis Ihrer Anwendung verwenden, um persistente Dateien zu speichern. Mit dieser Funktion können Sie den Pfad zum Verzeichnis erhalten, den Apple mithilfe von Kerndaten in der Vorlage für eine Anwendung enthält:

/**
 Returns the path to the application's documents directory.
 */
- (NSString *)applicationDocumentsDirectory {

    NSArray *paths = 
      NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;
    return basePath;
}

Andere Tipps

In jüngerer Zeit enthält die Vorlage für eine Kerndatenanwendung einen solchen Code:

- (NSString *)applicationDocumentsDirectory {
    return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
}

Wenn der zurückgegebene NSArray von NsSearchPathfordirectorySindomains leer ist, gibt LastObject Nil zurück, sodass der Code kürzer und sauberer ist.

Eine Sache, die Sie sich bewusst sein sollten-ab iOS 5 sollten Sie nicht nicht aus Benutzer erzeugte Daten in das Dokumentenverzeichnis einsetzen. Ihre App kann abgelehnt werden. Stattdessen sollten Sie daran denken, solche Protokolle einzulegen Caches Verzeichnis. Um den Pfad davon zu erhalten, müssen Sie ersetzen NSDocumentDirectory mit NSCachesDirectory Im obigen Beispielcode.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top