Sample code for 30+ languages & platforms
Objective-C

Unzip an AES Encrypted Text File directly into a String Variable

See more Zip Examples

A common need is to unzip from an AES encrypted Zip archive directly into a string variable, such that the unencrypted file never resides on disk, even temporarily. This example shows how to do it.

Chilkat Objective-C Downloads

Objective-C
#import <CkoZip.h>
#import <CkoZipEntry.h>
#import <NSString.h>

BOOL success = NO;

// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

CkoZip *zip = [[CkoZip alloc] init];

// This example opens a WinZip-compatible AES encrypted
// .zip that contains a single file: hamlet.xml.

// It decrypts and unzips hamlet.xml directly into a string
// variable.
[zip SetPassword: @"secret"];
success = [zip OpenZip: @"qa_data/hamlet.zip"];
if (success == NO) {
    NSLog(@"%@",zip.LastErrorText);
    return;
}

CkoZipEntry *entry = [[CkoZipEntry alloc] init];
success = [zip EntryOf: @"hamlet.xml" entry: entry];
if (success == NO) {
    NSLog(@"%@",zip.LastErrorText);
    return;
}

// lineEndingBehavior:
// 0 = leave unchanged.
// 1 = convert all to bare LF's
// 2 = convert all to CRLF's
int lineEndingBehavior = 0;
NSString *srcCharset = @"utf-8";
NSString *xmlText = [entry UnzipToString: [NSNumber numberWithInt: lineEndingBehavior] srcCharset: srcCharset];
NSLog(@"%@",xmlText);