2015-01-21 35 views
2

我有一个包含一些图像的.zip文件夹。我想将它解压到iOS设备的Documents目录中。我试着用下面的链接,在iOS中解压缩文件

download and unzip file in iOS-Stack Overflow 这里是我在我的应用程序试图代码,

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 
                NSUserDomainMask, 
                YES); 

NSString *documentsDirectory = [paths objectAtIndex:0]; 

NSString *filepath = [documentsDirectory stringByAppendingPathComponent:@"Obj.zip"]; 
ZipArchive *zipArchive = [[ZipArchive alloc] init]; 
[zipArchive UnzipOpenFile:filepath Password:@""]; 
[zipArchive UnzipFileTo:[documentsDirectory stringByAppendingPathComponent:@"Obj"] overWrite:YES]; 
[zipArchive UnzipCloseFile]; 

然后我印在Document Directory的所有文件,但Obj.zip是唯一的文件(的OBJ .zip是想要解压缩的文件)存在于文档目录中。我怎么做到这一点?

在此先感谢!

+0

检查我的回答:http://stackoverflow.com/questions/28060790/from-the-zip-file-不能够从文档目录中获取数据 – 2015-01-21 07:03:58

+0

我试过了。但documnet目录只有obj.zip文件 – codebot 2015-01-21 07:57:45

+0

检查此答案:http://stackoverflow.com/questions/11333399/download-and-unzip-file-in-ios – dferreira 2015-01-21 08:31:48

回答

7

使用SSZipArchive。这是一个示例代码。 https://github.com/soffes/ssziparchive

此外,我相信解压会在文件目录中创建一个文件夹,其中将包含文件。请检查

NSString *zipPath = [[NSBundle mainBundle] pathForResource:zipFileName ofType:@"zip"]; 
NSString *destinationPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; 
[SSZipArchive unzipFileAtPath:zipPath toDestination:destinationPath]; 

更新:从文件目录中的zip文件

NSString *filename = @"MyZipFile.zip"; 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString * zipPath = [documentsDirectory stringByAppendingPathComponent:filename]; 

NSString *destinationPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; 
[SSZipArchive unzipFileAtPath:zipPath toDestination:destinationPath]; 
+0

我的文件不在主包中。它也在Documents目录中 – codebot 2015-01-21 08:20:18