我想延長了應用下載的zip文件到 子目錄然後提取它,然後加載哪個人的zip內的圖像我的iPhone應用程序在主束子目錄中提取。iPhone:下載的zip並在運行時
任何想法如何解壓在運行時間和訪問的圖像?對於某個想法會很開心。
問候,
我想延長了應用下載的zip文件到 子目錄然後提取它,然後加載哪個人的zip內的圖像我的iPhone應用程序在主束子目錄中提取。iPhone:下載的zip並在運行時
任何想法如何解壓在運行時間和訪問的圖像?對於某個想法會很開心。
問候,
你不能提取到你的包。使用[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]
獲取可寫入目錄的路徑。
您可以使用代碼http://code.google.com/p/ziparchive/從zip存檔提取文件。
我可以使用Ziparchive for ios 6 – 2012-10-12 12:22:54
我用ZipArchive在過去的成功。
這是相當ligyweight和使用簡單,支持密碼保護,ZIP中的多個文件,以及壓縮&解壓縮。
的基本用法是:
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];
如果添加ZipArchive
到您的項目,記得還添加了框架。 正確的框架是libz.dylib
。 最新版本(Xcode 4.2)是1.2.5。
(添加框架,從而與您的目標的構建階段標籤庫的部分。)
我建議你使用ssziparchive bcoz它同時支持ARC
和Non ARC
項目。
SSZipArchive.h
,SSZipArchive.m
和minizip
到您的項目。libz
(現在它libz1.2.5
)庫添加到您的目標。對於ARC
,您不需要做任何事情。 SSZipArchive
會,如果你不使用ARC
檢測並添加所需的內存管理代碼。
和代碼將是這樣的:
NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
// Unzipping
//If your zip is in document directory than use this code
NSString *zipPath = [documentsDirectory stringByAppendingPathComponent:@"mediadata.zip"];
//else if zip file is in bundle than use this code
NSString *zipPath = [[NSBundle mainBundle] pathForResource:@"mediadata" ofType:@"zip"];
NSString *destinationPath = [documentsDirectory stringByAppendingPathComponent:@"MediaData"];
if([SSZipArchive unzipFileAtPath:zipPath toDestination:destinationPath] != NO) {
//unzip data success
//do something
NSLog(@"Dilip Success");
}else{
NSLog(@"Dilip Error");
}
好的答案真的很有幫助,thanx +1 – 2013-09-02 12:46:23
如果服務器中的「.zip」文件,如何使用SSZipArchive庫。請讓我們知道 – 2015-02-19 13:00:29
@JoshKethepalli在這種情況下,你必須首先在本地下載ZIP文件並解壓縮它,如果沒有原始ZIP文件在本地存儲中,你無法解壓縮它。 – Dilip 2015-02-20 05:47:32
主束是隻讀的。你不能提取文件,但是你可以使用文件目錄等本地目錄。 – 2015-05-26 21:33:50