在文件目录下创建一个文件夹中的ZIP文件 - 目标C(ARC)(Creating a ZIP fil

2019-07-30 15:13发布

我有我一直在使用ARC开发的iPhone应用程序。 我有一个包含在我的文档目录中的图像,我需要拉上和电子邮件一堆的文件夹。 我的项目使用ARC。

没有人有任何示例代码/链接,这将有助于我的资源?

我一直在网上耙周围,我能找到的是不兼容ARC - 即使它声称是。

Answer 1:

下载并从这个链接中拖动的Objective-ZIP,MiniZip和zlib拖动到你的项目http://code.google.com/p/objective-zip/downloads/list (目标-ZIP)。 导入文件:ZipFile.h,ZipException.h,FileInZipInfo.h,ZipWriteStream.h,ZipReadStream.h,zlib.h

使用此代码。 请看下面:

NSString *stringPath1 = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0]];
    NSString *FileName=[stringPath1 stringByAppendingPathComponent:@"Your file name"];


    NSString *stringPath=[stringPath1 stringByAppendingPathComponent:[@"Your file name" stringByAppendingFormat:@".zip"]];
    NSArray *files = [[NSFileManager defaultManager]contentsOfDirectoryAtPath:FileName error:&error];
    ZipFile *zipFile = [[ZipFile alloc]initWithFileName:stringPath mode:ZipFileModeCreate];

    for(int i = 0;i<files.count;i++){

        id myArrayElement = [files  objectAtIndex:i];
        NSLog(@"add %@", myArrayElement);

        NSString *path = [FileName stringByAppendingPathComponent:myArrayElement];
        NSDictionary *attributes = [[NSFileManager defaultManager]attributesOfItemAtPath:path error:&error];
        NSDate *Date = [attributes objectForKey:NSFileCreationDate];

        ZipWriteStream *streem = [zipFile writeFileInZipWithName:myArrayElement fileDate:Date compressionLevel:ZipCompressionLevelBest];
        NSData *data = [NSData dataWithContentsOfFile:path];
        [streem writeData:data];
        [streem finishedWriting];
    }

    [zipFile close];


文章来源: Creating a ZIP file from a folder in documents directory - Objective C (ARC)