Swift Package 索引的标志。Swift Package 索引

跟踪 Swift 6 严格并发检查在数据竞争安全性方面的采用情况。有多少软件包已为 Swift 6 做好准备

当使用 Xcode 项目时

当使用 Swift Package Manager 清单时

选择软件包版本

0.1.1

main


Swift 的 Office Open XML (OOXML) 格式(.xlsx、.docx、.pptx)解密




CryptoOffice

用于 Swift 的 Office Open XML (OOXML) 格式(.xlsx, .docx, .pptx)解密库

CryptoOffice 是一个用于解密使用 ECMA-376 agile encryption 的 Microsoft Office 格式的库。它应与允许解析解密数据的库结合使用,例如 CoreXLSX

如有任何问题或想闲聊,请加入我们的 Discord

示例

使用 CryptoOffice 非常简单

  1. 在相关的 Swift 源文件顶部添加 import CryptoOffice
  2. 使用 CryptoOfficeFile(path: String) 创建一个新实例,并指定加密文件的路径。
  3. 调用 decrypt(password: String) 来获取解密后的数据。
  4. 使用适用于该格式的库解析解密后的数据(在此示例中为 CoreXLSX)。
import CoreXLSX
import CryptoOffice

let encryptedFile = try CryptoOfficeFile(path: "./categories.xlsx")
let decryptedData = try encryptedFile.decrypt(password: "pass")
let xlsx = try XLSXFile(data: decryptedData)

for path in try xlsx.parseWorksheetPaths() {
  let worksheet = try xlsx.parseWorksheet(at: path)
  for row in worksheet.data?.rows ?? [] {
    for c in row.cells {
      print(c)
    }
  }
}

要求

Apple 平台

  • Xcode 12.4 或更高版本
  • Swift 5.3 或更高版本
  • iOS 13.0 / watchOS 6.0 / tvOS 13.0 / macOS 10.15 或更高版本的部署目标

Linux

  • Swift 5.3 或更高版本

安装

Swift Package Manager

Swift Package Manager 是一种用于管理 Swift 代码分发的工具。它与 Swift 构建系统集成,可以自动执行在所有平台上下载、编译和链接依赖项的过程。

设置好 Swift 包后,将 CryptoOffice 添加为依赖项就像将其添加到 Package.swiftdependencies 值一样简单。

dependencies: [
  .package(url: "https://github.com/CoreOffice/CryptoOffice.git",
           .upToNextMinor(from: "0.1.1"))
]

如果您在用 Xcode 构建的应用中使用 CryptoOffice,您还可以使用 Xcode 的 GUI 将其添加为直接依赖项。

贡献

编码风格

本项目使用 SwiftFormatSwiftLint 来强制执行格式化和编码风格。我们鼓励您以最适合您的方式在存储库的本地克隆中运行 SwiftFormat,无论是手动还是通过 Xcode 扩展构建阶段git pre-commit 钩子 等自动运行。

为了保证这些工具在您提交 macOS 上的更改之前运行,我们鼓励您运行此命令一次以设置 pre-commit 钩子

brew bundle # installs SwiftLint, SwiftFormat and pre-commit
pre-commit install # installs pre-commit hook to run checks before you commit

有关其他平台的更多详细信息和安装说明,请参阅pre-commit 文档页面

SwiftFormat 和 SwiftLint 也会在每次 PR 的 CI 上运行,因此 CI 构建可能会因为不一致的格式或风格而失败。我们要求 CI 构建通过才能合并所有 PR。

行为准则

本项目遵守 Contributor Covenant 行为准则。参与本项目,即表示您应遵守此准则。请将不可接受的行为报告给 coreoffice@desiatov.com

许可证

CryptoOffice 在 Apache License, Version 2.0(“许可证”)下获得许可;除非符合许可证的规定,否则您不得使用此库。有关更多信息,请参见 LICENSE 文件。

除非适用法律要求或以书面形式同意,否则根据许可证分发的软件按“原样”分发,不提供任何形式的明示或暗示的保证或条件。请参阅许可证,了解有关特定权限和限制的详细信息。

CryptoOffice 使用 swift-crypto, CryptoSwift, XMLCoder, OLEKitZIPFoundation。 后者只是 CryptoOffice 测试套件的依赖项。 请查看各个项目以获取其真实的许可信息。