1

暗号輸出規制により、このライブラリを使用することは可能ですか? または、ファイルを圧縮/解凍するためにどれを使用できますか?

4

2 に答える 2

1

SSZipArchiveが分散アプリでの使用を許可されているかどうかはわかりませんが、使用しているライブラリはObjective-Zipです。

どんなプロジェクトにも簡単に統合できます。

zipのサンプルコード:

// create a zip file for writing
ZipFile *zipFile= [[ZipFile alloc] initWithFileName:pathOfTheFileToBeZipped mode:ZipFileModeCreate];

// Add a file, write to its stream and close it
ZipWriteStream *stream1= [zipFile writeFileInZipWithName:@"abc.txt" fileDate:[NSDate dateWithTimeIntervalSinceNow:-86400.0] compressionLevel:ZipCompressionLevelBest];
NSString *text= @"abc";
[stream1 writeData:[text dataUsingEncoding:NSUTF8StringEncoding]];
[stream1 finishedWriting];

// Add another file, write to its stream and close it
ZipWriteStream *stream2= [zipFile writeFileInZipWithName:@"x/y/z/xyz.txt" compressionLevel:ZipCompressionLevelNone];
NSString *text2= @"XYZ";
[stream2 writeData:[text2 dataUsingEncoding:NSUTF8StringEncoding]];
[stream2 finishedWriting];

// Close the zip file
[zipFile close];

解凍するためのサンプルコード:

// open the zip file for reading
ZipFile *unzipFile = [[ZipFile alloc] initWithFileName:pathOfTheFileToBeUnzipped mode:ZipFileModeUnzip];

// retrieve the info of the files inside
NSArray *infos= [unzipFile listFileInZipInfos];

// iterate over files
for (FileInZipInfo *info in infos) {        
    // locate the file in the zip
    [unzipFile locateFileInZip:info.name];

    // expand the file in memory
    ZipReadStream *read= [unzipFile readCurrentFileInZip];
    NSData *data = [read readDataOfLength:info.length];
    [read finishedReading];

    // construct the folder/file path structure
    NSString *unzipPathFilename = [unzipPath stringByAppendingPathComponent:info.name];
    NSString *unzipPathFoldername = [[unzipPathFilename stringByDeletingLastPathComponent] copy];
    NSError *errorw;

    // write the unzipped files, with some consistency checks
    NSRange range = [unzipPathFoldername rangeOfString:@"__MACOSX"];

    if (range.location == NSNotFound) {
        if ([fileManager createDirectoryAtPath:unzipPathFoldername withIntermediateDirectories:YES attributes:nil error:&errorw]) {
            if (![[unzipPathFilename pathExtension] isEqualToString:@""] && ![[[unzipPathFilename lastPathComponent] substringToIndex:1] isEqualToString:@"." ]) {
                [data writeToFile:unzipPathFilename atomically:NO];
            }
        }
        else {
            NSLog(@"Directory Fail: %@", errorw);
        }
    }
}

// close the zip file
[unzipFile close];
于 2013-03-05T23:53:04.893 に答える
0

実際、iOS アプリケーションでは暗号化が許可されています。NSA に申請書を提出するだけで、あなたが誰で、どのような種類の暗号化がアプリに含まれているかがわかります。通常 30 分以内に登録番号を返信します。自動または半自動です。開発者に関する情報を収集するだけです。

iOS 開発者として登録する方が簡単です。

私の意見:-

ZIP ライブラリで暗号化を使用しない場合は、アプリケーションを送信する必要があります。リンカーは、最適化後にそのコードを削除します。そのコードは使用されません。ただし、iOS に付属している暗号化でも使用する場合は、適用する必要があります。たとえば、https:// URL (Facebook など) を開く場合は UIWebView を使用しますが、UIWebView を使用して安全でないページを開く場合は、適用しないでください。

于 2013-03-06T00:05:17.240 に答える