2015-01-21 71 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