Einfachste Möglichkeit auf dem iPhone entpacken Sie die heruntergeladenen Datei?
Ziel: laden Sie eine Zip-Datei, entpacken Sie es und speichern Sie es in der iPhone-app die Dokumente-Verzeichnis.
Folgende code nutzt die initWithGzippedData-Methode, die Hinzugefügt wurde, um NSData in der Molekül-app finden Sie hier:
http://www.sunsetlakesoftware.com/molecules
Als angepasst zu meiner app:
NSString *sFolder = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
NSString *sFileName = [sFolder stringByAppendingPathComponent:@"MyFile.db"];
NSURL *oURL = [NSURL URLWithString: @"http://www.isystant.com/Files/MyFile.zip"];
NSData *oZipData = [NSData dataWithContentsOfURL: oURL];
NSData *oData = [[NSData alloc] initWithGzippedData:oZipData];
[oZipData release];
b = [oData writeToFile:sFileName atomically:NO];
NSLog(@"Unzip %i", b);
Ergebnis: Eine zip-Datei erfolgreich heruntergeladen wurde. Aus es eine neue, angeblich entpackte Datei erstellt wird, in das Dokumente-Verzeichnis mit dem gewünschten Namen (MyFile.db), aber es hat null bytes.
Jemand das problem? Oder gibt es sonst noch eine einfachere Möglichkeit zum Entzippen einer heruntergeladenen Datei, als die in den Molekülen app?
InformationsquelleAutor Scott Pendleton | 2010-03-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, dass Ihr problem kann sein, dass Sie versuchen, um gzip-deflate Zip-Datei. Das sind zwei verschiedene Kompressions-algorithmen.
Ich die gzip-entlüften-code in Molekülen auf diese Kategorie NSData (den code habe ich kopiert und in diese Antwort) durch Mitwirkende an der CocoaDev wiki. Das, was Sie tun möchten, verwenden Sie Ihre
-zlibDeflate
Umsetzung, die sollte ordnungsgemäß entpacken einer Zip-Datei.Keinen Bezug zu Ihrem problem, anstatt
NSHomeDirectory()
und Anhängen einer Pfad-Komponente, die empfohlene Vorgehensweise für das Auffinden der Dokumente Verzeichnis ist folgende:Pendleton: Das könnte sein was du suchst, Dokumentation-Weise: developer.apple.com/iphone/library/documentation/iPhone/... Im Allgemeinen, ich denke, Sie wollen verwenden Sie diese helper-Methoden anstelle von hart codierten Pfad-Komponenten, nur für den Fall, dass Komponente ändert sich irgendwann in der Zukunft (für die Internationalisierung Gründe, vielleicht).
Link funktioniert nicht mehr
Ich aktualisiert, mit links zu den Archiv-und meine ältere Antwort, wo ich transkribierte die Kategorie.
InformationsquelleAutor Brad Larson
Sollten Sie sicherstellen, dass Ihre Datei nicht zu groß ist, laden Sie es vollständig in den Speicher vor dem entpacken beginnt.
InformationsquelleAutor rougeExciter