是否有任何库在Objective C中工作以压缩整个文件夹(并解压缩它们)?我通过搜索看了一些,但看起来他们需要单独添加文件,其中一些据说会崩溃......
看起来这个库可能有效: http://bitbucket.org/dchest/osxzip/overview
但我不知道它是否支持文件夹。任何人都知道它是否有或任何其他库支持压缩文件夹?甚至用于与命令行libz交互的示例代码对我来说都没问题......
答案 0 :(得分:1)
您可以使用NSTask
运行命令行ditto
程序。请务必查看ditto
手册页以获取正确的标记组合,以获得与Finder兼容的压缩文件。
答案 1 :(得分:1)
根据这个例子:http://www.raywenderlich.com/1948/how-integrate-itunes-file-sharing-with-your-ios-app你可以用Zipped数据得到一个NSData对象然后用[data writeToFile ....]
写它- (NSData *)exportToNSData {
NSError *error;
NSURL *url = [NSURL fileURLWithPath:_docPath];
NSFileWrapper *dirWrapper = [[[NSFileWrapper alloc] initWithURL:url options:0 error:&error] autorelease];
if (dirWrapper == nil) {
NSLog(@"Error creating directory wrapper: %@", error.localizedDescription);
return nil;
}
NSData *dirData = [dirWrapper serializedRepresentation];
NSData *gzData = [dirData gzipDeflate];
return gzData;
}