Я предлагаю вам использовать 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");
}