问题描述
||
是否有人围绕tar存档/取消存档编写了一个简单的Cocoa包装类?
我计划自己做,除非外面有人已经亲切地做过。
编辑:有什么原因我不应该只在\“ tar \”终端命令周围编写包装类? (通过NSTask)?除非有任何异议,否则我现在打算这样做。
解决方法
建议您自己动手(至少要取消存档),然后再看一下Unarchiver的来源。
它支持Zip,Tar-GZip,Tar-BZip2,RAR,7-zip,LhA,StuffIt等。
另外,为了获得完整的归档/取消归档支持,可以使用libarchive,
这是BSD许可并以C语言编写的:http://code.google.com/p/libarchive/
(甚至有一个用于iOS的libarchive静态库分支)
筛选器支持
gzip(读写,使用zlib)
bzip2(读写,使用bzlib)
压缩(读写,使用内部实现)
uudecode(只读)
具有固定签名自动检测功能的独立命令行压缩器
xz和lzma(使用liblzma进行读写)
lzma(如果您缺少liblzma,则可以通过以下方式获得只读的lzma支持:
lzmadec库;这可能是
liblzma稳定后立即放弃
并广泛使用)
从libarchive 2.7开始,以上大部分内容将退回到使用
命令行工具(如果库)
在构建时不可用。注意
命令行工具是
通常比使用
直接图书馆。
支持的存档格式
tar(读写,包括GNU扩展)
pax(读写,包括GNU和star扩展)
cpio(读写,包括odc和newc变体)
ISO9660(只读,包括Joliet和Rockridge扩展,带有
一些限制;写支持
从libarchive 2.9开始)
Zip(只读,有一定限制,使用zlib;写支持
从libarchive 2.8开始)
mtree(读取和写入,使用OpenSSL库进行创建和验证
加密哈希)
共享(仅写)
ar(读写,包括BSD和GNU / SysV变体)
空(只读;尤其要注意,没有其他格式可以接受
一个空文件)
raw(只读,从libarchive 2.8开始)
xar(只读,从libarchive 2.8开始)
仅作记录:使用libarchive拒绝Apple私有API(问题已解决,顺便说一句)
, 我已经用过了它对我有用...
http://code.google.com/p/ziparchive/downloads/detail?name=ZipArchive.zip&can=2&q=