SSZipArchive 2.5.5

SSZipArchive 2.5.5

测试已测试
语言语言 CC
许可证 MIT
发行最新发布2023年10月

Joshua HudsonCœurwillson-chen 维护。



  • Sam Soffes,Joshua Hudson和Wilson Chen编写

CI

SSZipArchive

ZipArchive是一个用于在iOS、macOS和tvOS上压缩和解压缩文件的简单实用类。

  • 解压zip文件;
  • 解压带密码的zip文件;
  • 解压AES加密的zip文件;
  • 创建zip文件;
  • 创建大文件(>4.3Gb);
  • 创建带密码的zip文件;
  • 创建AES加密的zip文件;
  • 选择压缩级别;
  • 将NSData实例压缩。 (带文件名)

版本2.5.0+ 更新最低OS版本

此项目的关键依赖库是zlib库。根据 CVE-2018-25032,版本1.2.12之前的zlib在解压(即压缩)时,如果输入有许多远距离匹配,则可能导致内存损坏。

zlib 1.2.12包含在macOS 10.15+(带最新安全补丁)、iOS 15.5+、tvOS 15.4+、watchOS 8.4+中。 因此,自ZipArchive版本2.5.0起,这些OS版本将成为新最低版本。

如果您需要支持早期版本的ZipArchive来支持较早的OS版本,请针对更早的版本,但请注意您将使用此库的不维护版本。

我们不会支持使用已知存在漏洞的依赖项的ZipArchive版本。

安装和设置

主分支配置为支持Objective-C和Swift 4及以上。

SSZipArchive在Xcode 12及以上版本、iOS 15.5及以上版本、tvOS 15.4及以上版本、macOS 10.15及以上版本、watchOS 8.4及以上版本上运行。

CocoaPods

在您的Podfile中
pod 'SSZipArchive'

请明确定义您的最低部署目标,例如:platform :ios, '15.5'

推荐的CocoaPods版本应至少为CocoaPods 1.7.5。

SPM

https://github.com/ZipArchive/ZipArchive.git中将Swift Package的引用添加为(仅限SSZipArchive 2.5.0及以上版本或master)

Carthage

在您的Cartfile中
github "ZipArchive/ZipArchive"

我们不发布Carthage预构建包。开发者被鼓励自己构建。

手动

  1. SSZipArchiveminizip文件夹添加到您的项目中。
  2. libzlibiconv库添加到您的目标中。
  3. Security框架添加到您的目标中。
  4. 添加以下GCC_PREPROCESSOR_DEFINITIONS:HAVE_INTTYPES_H HAVE_PKCRYPT HAVE_STDINT_H HAVE_WZAES HAVE_ZLIB ZLIB_COMPAT $(inherited)

SSZipArchive需要自动引用计数支持。

使用

Objective-C

//Import "#import <ZipArchive.h>" for SPM/Carthage, and "#import <SSZipArchive.h>" for CocoaPods.

// Create
[SSZipArchive createZipFileAtPath:zipPath withContentsOfDirectory:sampleDataPath];

// Unzip
[SSZipArchive unzipFileAtPath:zipPath toDestination:unzipPath];

Swift

//Import "import ZipArchive" for SPM/Carthage, and "import SSZipArchive" for CocoaPods.

// Create
SSZipArchive.createZipFileAtPath(zipPath, withContentsOfDirectory: sampleDataPath)

// Unzip
SSZipArchive.unzipFileAtPath(zipPath, toDestination: unzipPath)

License

SSZipArchive受MIT许可证保护,我们的稍作修改的minizip-ng(原minizip)3.0.6版本则受Zlib许可证许可。

Acknowledgments