[NSData writeToFile:options:error:] returns NO, aber &error bleibt nil

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • [NSData writeToFile:options:error:] returns NO, aber &error bleibt nil

    Aus der Kategorie 'gestern ging es noch':

    Ich schreibe NSData (ein Zip Archiv) via -writeToFile:options:error: weg.
    Und zwar nach 'caches', einem Unterordner von NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES);

    Läuft. Ordner existiert gemäß NSFileManager auch.

    Quellcode

    1. NSError * writingError = nil;
    2. if( ! [zipData writeToFile:destination options:NSDataWritingAtomic error:&writingError] ) {
    3. // Schlägt fehl, ich lande also hier.
    4. if( writingError != nil ) {
    5. // Offenbar nicht der Fall, hier komme ich nicht rein.
    6. }
    7. }


    Der Unterordner caches existiert. Der Unterordner caches ist ein Ordner. Behauptet zumindest NSFileManager.
    Ein Schreiben nach caches/file.zip funktioniert aber offenbar nicht mehr. Und es wird kein Fehler geschmissen. Behauptet zumindest NSData.

    Die Dokumentation ist auch höchst schweigsam darüber.
    Sie sagt zwar, es wird YES zurück gegeben, wenn das Schreiben funktioniert hat und NO, wenn das nicht geklappt hat.
    Sie sagt auch, dass &error gesetzt ist, wenn ein Fehler aufgetreten ist.
    Sie sagt aber nicht, unter welchen Umständen das Schreiben fehl schlagen kann ohne dass ein Fehler auftritt.

    Die Datei an dem Unterordner existiert auch nicht, der Unterordner ist komplett leer.
    Der Unterordner selbst ist gemäß NSFileManager schreibbar.
    Das Gerät hat noch ungefähr 11GB frei, so eine 50kB Zip sollte also gerade so da rauf passen. Theoretisch sollte es sogar über 230.000 mal da rauf passen…

    Was übersehe ich?
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Marco Feltmann ()

  • Verfluchtes Java. Hab mich so dermaßen an dusselige Null Pointer Exceptions gewöhnt. ^^

    Ja, die Gegenstelle des Zipfiles abstellen, so dass der Request ins Leere läuft, war tatsächlich der Unterschied zu gestern.
    Danke!
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P