5

ARCを使用して開発したiPhoneアプリケーションがあります。ドキュメントディレクトリに大量の画像を含むフォルダがあり、zip形式で電子メールで送信する必要があります。私のプロジェクトはARCを使用しています。

誰かが私に役立つリソースへのサンプルコード/リンクを持っていますか?

私はオンラインでうろついています、そして私が見つけることができるものはARCと互換性がありません-それがそうだと主張しているとしても。

4

1 に答える 1

8

Objective-Zip、MiniZip、およびZLibをダウンロードして、このリンクhttp://code.google.com/p/objective-zip/downloads/list(Objective-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];
于 2012-07-25T13:18:10.013 に答える