是否有人围绕tar归档/取消归档文件编写了一个简单的Cocoa包装类?
我打算自己做,除非那里有人已经慷慨地完成了它。
编辑:有什么理由我不应该围绕“tar”终端命令编写一个包装类吗? (通过NSTask)?除非有任何异议,否则这就是我现在计划做的事情。答案 0 :(得分:2)
在此之前(至少是取消归档),我建议您查看The Unarchiver的来源。
它支持Zip,Tar-GZip,Tar-BZip2,RAR,7-zip,LhA,StuffIt等。
另外,对于完整的归档/取消归档支持,还有 libarchive ,
这是BSD许可并用C编写:http://code.google.com/p/libarchive/
(在 iOS 中使用 libarchive 的static library分叉
过滤支持
- gzip(读写,使用zlib)
- bzip2(读写,使用bzlib)
- compress(读写,使用内部实现)
- uudecode(只读)
- 具有固定签名自动检测的独立命令行压缩器
- xz和lzma(使用liblzma读写)
- lzma(如果你缺少liblzma,你可以通过它获得只读的lzma支持 lzmadec图书馆;这很可能会 liblzma稳定后立即下降 并广泛提供)
- 从libarchive 2.7开始,上述大部分内容将重新使用 命令行工具,如果库 在构建时不可用。注意 命令行工具是 通常比使用慢 图书馆直接。
支持的存档格式
- tar(读写,包括GNU扩展)
- pax(读写,包括GNU和星级扩展)
- cpio(读写,包括odc和newc变体)
- ISO9660(只读,包括Joliet和Rockridge扩展,带有 一些限制;写支持 从libarchive 2.9开始)
- Zip(只读,有一些限制,使用zlib;写支持 从libarchive 2.8开始)
- mtree(读写,使用OpenSSL库进行创建和验证 加密哈希)
- shar(只写)
- ar(读写,包括BSD和GNU / SysV变体)
- 空(只读;特别注意,没有其他格式可以接受 一个空文件)
- raw(只读,从libarchive 2.8开始)
- xar(只读,从libarchive 2.8开始)
仅供记录:Apple private API rejection with libarchive(问题已解决,顺便说一句)
答案 1 :(得分:1)