Quiero descargar un archivo zip que contiene una carpeta con muchos archivos de audio que se usan para mi pronunciación en el diccionario. Utilizo ASIHTTPRequest para descargarlo y mi problema es "No sé cómo descomprimir ese archivo". Traté de usar SSZipArchive
y ZipArchive
ambos están basados en minizip
pero recibí un error cuando compilo el código Undefined symbols for architecture i386: "_OBJC_CLASS_$_ZipArchive", referenced from: objc-class-ref in AppDelegate.o
. Entonces podría darme algunos consejosdescarga y descomprime el archivo en iOS
Respuesta
He usado ZipArchive con éxito en el pasado. Es bastante liviano y fácil de usar, admite la protección con contraseña, múltiples archivos dentro de un ZIP, y también comprime & descompresión.
El uso básico es:
NSString *filepath = [[NSBundle mainBundle] pathForResource:@"ZipFileName" ofType:@"zip"];
ZipArchive *zipArchive = [[ZipArchive alloc] init];
[zipArchive UnzipOpenFile:filepath Password:@"xxxxxx"];
[zipArchive UnzipFileTo:{pathToDirectory} overWrite:YES];
[zipArchive UnzipCloseFile];
[zipArchive release];
más ejemplos sobre este paquete here
También he intentado SSZipArchive en algunos proyectos. debajo de la línea se descomprimiría el archivo zip.
[SSZipArchive unzipFileAtPath:path toDestination:destination];
El último SSZipArchive de una línea es mucho más fácil ya que también maneja la escritura archivos extraídos Con buena pinta. – Hlung
excelente respuesta! – Vivo
Esta fue la solución más simple y liviana que he evaluado de unas 3 recomendaciones principales. ZipArchive funciona bien – jcpennypincher
En iOS6, un archivo ZIP parece manejarse como una carpeta. Tenía éxito simplemente haciendo lo siguiente:
[[NSFileManager defaultManager] copyItemAtPath:[NSURL URLForCachesDirectoryWithAppendedPath:@"ZIP_FILE.zip/Contents/Test.m4a"].path
toPath:[NSURL URLForCachesDirectoryWithAppendedPath:@"Test.m4a"].path
error:nil];
Puede haber una posibilidad de que incluso se puede hacer un listado de directorio para descomprimir los archivos con contenido desconocido. Sin embargo, no conozco los archivos ZIP protegidos por contraseña.
Para empezar, en iOS 7, Apple introdujo la capacidad de comprimir/descomprimir archivos de forma nativa. También tiene la opción, envíe los archivos comprimidos a través de Mail, Messages, Airdrop y "Abrir en". La clave es: El archivo zip debe ser compatible con iOS Algunos son, y otros no. El primer paso: descubra si su archivo es compatible. Haga esto con una simple comprobación de su archivo recién guardado. Intenta abrirlo. Si está atascado en "Esperando ...", es probablemente no sea compatible con. Pruebe con una biblioteca diferente o use una solución si este es el caso.
Ahora, haciendo esto programáticamente Actualmente requiere el uso de una biblioteca de terceros para guardar archivos zip y extraerlos. Esto no es ideal, ya que muchas personas/compañías evitan usarlos. Dicho esto, la respuesta es correcta, ZipArchive es una gran herramienta de terceros, especialmente porque ahora es compatible con Swift. Recomendaría usarlo hasta que Apple presente una biblioteca nativa.
- 1. Descomprime el archivo tar en el directorio
- 2. descomprime cadenas en javascript
- 3. iOS Aplicación Descarga de fondo
- 4. Descarga progresiva de video en iOS
- 5. Descomprime un archivo gzip de CURL, en php
- 6. Crear archivo de texto y descarga
- 7. zcat no descomprime archivos correctamente
- 8. iOS crea el archivo
- 9. wget rechazar aún el archivo de descarga
- 10. iOS: Descarga imagen de la URL y guardar en el dispositivo
- 11. ¿Cuándo JVM de Java descomprime archivos jar?
- 12. Descarga de archivo OpenXML sin archivo temporal
- 13. Descarga de archivo Ajax Problema
- 14. Descarga de un archivo en Delphi
- 15. Archivo de seguimiento descarga completa
- 16. iOS Antecedentes descarga cuando la aplicación no está activa
- 17. Descarga de un archivo dll en mef
- 18. PHP: archivo de descarga script no funciona en el iPad
- 19. VideoView y descarga progresiva
- 20. ftp no descarga el archivo correctamente en java?
- 21. ¿HttpWebResponse de .NET descomprime automáticamente las respuestas GZiped y Deflated?
- 22. JMeter - Carga de archivo y escenario de descarga de archivos
- 23. descarga un archivo de FTP mediante rizo y php
- 24. .NET GZipStream descomprime produciendo flujo vacío
- 25. google app engine archivo de descarga python
- 26. Fiddler no descomprime las respuestas gzip
- 27. android: descarga de archivos en el fondo
- 28. django descarga el archivo csv usando un enlace
- 29. Descarga un archivo cambiando window.location w/Safari
- 30. Obtener el nombre de archivo durante la descarga se
su error significa que está utilizando una biblioteca estática solo para iPhone con el simulador ... –
@ H2CO3: cómo puedo resolverlo ... –
No puede usar esto en el simulador, solo en un dispositivo real. –