ZIPFoundation Swift中的ZIP压缩与解压库

ZIP 文件的创建和解压,一般人用 zlib,Swift 的老哥用的是。这个库用的是纯 Swift 写的,性能还挺不错,API 也比较现代。用起来就像你在操作的文件那样,逻辑清晰,写法顺手。

ZIPFoundation的压缩和解压速度不拖后腿,内存控制也比较稳。而且不依赖太多第三方,Apple 平台上完全不需要额外安装啥,Linux 上需要zlib,也不麻烦。

还有个优点就是兼容面挺广,iOS 9+macOS 10.11+tvOSwatchOS 全部都能跑,跨平台需求的话也能用在 Linux 上,前提是你装好了 zlib 开发包

安装用 Swift Package Manager 就行,简单快捷。大致流程也没啥坑,就是 Xcode 10+Swift 4+ 的版本要求别搞错就好。

如果你在做 Swift 项目,有压缩解压需求,不想引入复杂依赖,那这个库真的还蛮合适的。想深入了解 zlib 在其他语言怎么用,也可以看看下面这些链接,挺有意思的。

zip
ZIPFoundation-development.zip 预估大小:91个文件
folder
ZIPFoundation-development 文件夹
file
.gitignore 1KB
file
Package@swift-4.0.swift 588B
folder
Sources 文件夹
folder
CZLib 文件夹
file
module.modulemap 355B
file
shim.h 367B
folder
ZIPFoundation 文件夹
file
Archive+Writing.swift 22KB
file
FileManager+ZIP.swift 16KB
file
Archive.swift 19KB
file
Entry.swift 20KB
file
Data+Compression.swift 17KB
file
Data+Serialization.swift 4KB
file
Archive+MemoryFile.swift 7KB
file
Archive+Reading.swift 7KB
file
Package@swift-4.1.swift 563B
file
ZIPFoundation.podspec 649B
folder
ZIPFoundation.xcodeproj 文件夹
file
ZIPFoundation_Info.plist 723B
folder
xcshareddata 文件夹
folder
xcschemes 文件夹
file
xcschememanagement.plist 256B
file
ZIPFoundation.xcscheme 4KB
file
ZIPFoundationTests_Info.plist 723B
folder
project.xcworkspace 文件夹
folder
xcshareddata 文件夹
file
IDEWorkspaceChecks.plist 238B
file
contents.xcworkspacedata 135B
file
project.pbxproj 21KB
file
LICENSE 1KB
file
CHANGELOG.md 4KB
folder
.github 文件夹
file
PULL_REQUEST_TEMPLATE.md 117B
folder
ISSUE_TEMPLATE 文件夹
file
Support_question.md 402B
file
Feature_request.md 590B
file
Bug_report.md 237B
file
CONTRIBUTING.md 2KB
file
CODE_OF_CONDUCT.md 3KB
file
FUNDING.yml 66B
file
azure-pipelines.yml 5KB
file
Package@swift-4.2.swift 604B
file
README.md 14KB
file
Package.swift 844B
folder
Tests 文件夹
file
LinuxMain.swift 107B
folder
ZIPFoundationTests 文件夹
file
ZIPFoundationTests.swift 21KB
file
ZIPFoundationEntryTests.swift 9KB
file
ZIPFoundationWritingTests.swift 18KB
file
ZIPFoundationProgressTests.swift 9KB
folder
Resources 文件夹
file
testFileModificationDate.png 976B
file
testArchiveAddCompressedEntryProgress.png 976B
file
testPOSIXPermissions.png 976B
file
testArchiveAddEntryErrorConditions.zip 2.21MB
file
testProgressHelpers.zip 87KB
file
testTraversalAttack.zip 220B
file
testArchiveAddCompressedEntryProgress.zip 6KB
file
testInvalidCompressionMethodErrorConditions.zip 6KB
file
testExtractEncryptedArchiveErrorConditions.zip 349B
file
testCorruptSymbolicLinkErrorConditions.zip 113B
file
testRemoveUncompressedEntry.zip 2.21MB
file
testUnzipItem.zip 2.17MB
file
testCreateArchiveAddUncompressedEntryToMemory.png 976B
file
testCorruptFileErrorConditions.zip 1MB
file
testRemoveDataDescriptorCompressedEntry.zip 290B
file
testUnzipItemWithPreferredEncoding.zip 458B
file
testUnzipItemProgress.zip 2.17MB
file
testExtractCompressedEntryCancelation.zip 165B
folder
testCreateArchiveAddZeroSizeCompressedEntry.txt 文件夹
file
testExtractUncompressedDataDescriptorArchive.zip 184B
file
testZipItem.png 976B
file
testZipItemProgress.png 976B
file
testExtractUncompressedEntryCancelation.zip 6KB
file
testUnzipItemErrorConditions.zip 87KB
file
testExtractUncompressedFolderEntries.zip 6KB
file
testRemoveEntryErrorConditions.zip 2.21MB
file
testCreateArchiveAddCompressedEntry.png 976B
file
testRemoveCompressedEntry.zip 2.08MB
file
testExtractUncompressedEmptyFile.zip 184B
file
testCreateArchiveAddCompressedEntryToMemory.png 976B
file
testArchiveIteratorErrorConditions.zip 154B
folder
testCreateArchiveAddZeroSizeUncompressedEntry.txt 文件夹
file
testExtractPreferredEncoding.zip 458B
file
testArchiveAddUncompressedEntryProgress.zip 6KB
file
testDetectEntryType.zip 390B
file
testExtractCompressedFolderEntries.zip 2.08MB
file
testCreateArchiveAddUncompressedEntry.png 976B
file
testExtractZIP64ArchiveErrorConditions.zip 461B
file
testExtractCompressedFolderEntriesFromMemory.zip 2.08MB
file
testRemoveEntryProgress.zip 2.21MB
file
testExtractCompressedDataDescriptorArchive.zip 290B
file
testUnzipItemErrorConditions.png 976B
file
testExtractUncompressedFolderEntriesFromMemory.zip 6KB
file
testExtractMSDOSArchive.zip 154B
file
testArchiveAddUncompressedEntryProgress.png 976B
file
testCreateArchiveAddSymbolicLink.png 976B
file
testExtractErrorConditions.zip 533B
file
ZIPFoundationMemoryTests.swift 8KB
file
ZIPFoundationFileManagerTests.swift 19KB
file
ZIPFoundationReadingTests.swift 12KB
file
ZIPFoundationDataSerializationTests.swift 3KB
file
ZIPFoundationPerformanceTests.swift 5KB
...
zip 文件大小:20.19MB