SevenZip is an Objective-C wrapper framework around p7zip (v16.02), which in turn is a Unix port of 7zip.
To build: Xcode 8, Swift 3
To use: OSX 10.9, iOS 8.4
(It probably runs on earlier platform versions as well but I didn't care enough to check.)
-
clone this repo
-
from the repo root, run
$ scripts/setup.sh
-
open the Xcode project and build the
SevenZip (OSX)
/SevenZip (iOS)
target
If you just want to toy with it, take a look at the SVZDemo
/SVZDemo-iOS
apps (separate targets).
- listing the archive contents
- extracting all/some files from archives to file/memory
- creating new archives with files/directories
- adding/removing files to/from existing archives
- support for password-protected archives
- specifying compression level
Coming soon: tests, automated builds, documentation, free candy/beer. Until then, submit your requests/bug reports as issues.
At the moment, the project is still in an early stage of development but you can already do all the usual stuff with 7z archives from code without having to get your hands dirty with the underlying MFC/COM+/OLE/godknowswhat implementation.
Be warned that the code is experimental, has few tests, and is provided as-is. Be prepared for unwanted/undefined behavior, data losses, nazgul attacks etc.
- the guy behind p7zip, for doing the lion's share of porting
- Oleh Kulykov's LzmaSDK-ObjC for some inspiration about implementing custom streams
- pixelglow's ZipZap for their API I shamelessly copied