cocoadev.com より
http://www.cocoadev.com/index.pl?UsingZipFilesExamples
NSString* sourcePath =[NSHomeDirectory() stringByAppendingPathComponent: @"Desktop/test.txt"];
NSString* targetPath =[NSHomeDirectory() stringByAppendingPathComponent: @"Desktop/test.zip"];
NSString* text = @"test";
NSData* data = [text dataUsingEncoding:NSUTF8StringEncoding];
[data writeToFile:sourcePath atomically:YES];
/* Assumes sourcePath and targetPath are both
valid, standardized paths. */
// Create the zip task
NSTask * backupTask = [[NSTask alloc] init];
[backupTask setLaunchPath:@"/usr/bin/ditto"];
[backupTask setArguments:
[NSArray arrayWithObjects:@"-c", @"-k", @"-X", @"--rsrc",
sourcePath, targetPath, nil]];
// Launch it and wait for execution
[backupTask launch];
[backupTask waitUntilExit];
// Handle the task's termination status
if ([backupTask terminationStatus] != 0)
NSLog(@"Sorry, didn't work.");
// You *did* remember to wash behind your ears ...
// ... right?
[backupTask release];


