fit-parser-swift

fit-parser-swift 是一个 Swift 包,用于解析和显示来自 FIT 文件的潜水数据。它提供了用于组织潜水数据的结构,并包含一个 SwiftUI 视图来显示解析后的信息。

当前的 fit-parser-swift 支持 FIT 21.141.0

特性

安装

Swift Package Manager

要使用 Swift Package Manager 将 fit-parser-swift 集成到您的 Xcode 项目中,请将其添加到 Package.swift 的 dependencies 值中

dependencies: [
    .package(url: "https://github.com/latishab/fit-parser-swift.git", .upToNextMajor(from: "1.0.0"))
]

然后,将其指定为目标的依赖项

targets: [
    .target(
        name: "YourTarget",
        dependencies: ["FITParser"]),
]

Garmin FIT Objective-C SDK 作为此包的依赖项包含在内,因此您无需单独添加它。

用法

作为库

  1. 在您的 Swift 文件中导入该包
import FITParser
  1. 使用 FITParser.parse(fitFilePath:) 方法解析 FIT 文件
let result = FITParser.parse(fitFilePath: "path/to/your/file.fit")
switch result {
case .success(let fitData):
    // Use fitData to access parsed information
case .failure(let error):
    print("Error parsing FIT file: \(error)")
}
  1. 通过 FITParser 结构体访问解析后的数据
let session = fitData.session
let summary = fitData.summary
let settings = fitData.settings
let tankSummaries = fitData.tankSummaries
let tankUpdates = fitData.tankUpdates
  1. 有关如何使用解析器并显示数据的完整示例,请参阅包中的 ContentView.swift 文件。该文件演示了
    • 如何触发 FIT 文件的解析
    • 如何处理成功和错误情况
    • 如何在 SwiftUI 视图中显示所有解析后的数据

作为命令行工具

您可以使用 FITParserCLI 命令行工具快速解析和显示 FIT 文件数据。要运行该工具

.build/debug/FITParserCLI path/to/your/file.fit

这会将解析后的数据打印到控制台。

要求

依赖项

该包包含以下依赖项

您无需手动将此依赖项添加到您的项目中。

贡献

我们欢迎您为 fit-parser-swift 项目做出贡献!如果您想贡献代码,请遵循以下准则

入门

  1. 在 GitHub 上 Fork 该仓库。
  2. 将您 Fork 的仓库克隆到您的本地机器。
  3. 为您的功能或错误修复创建一个新分支。

进行更改

  1. 在您的功能分支中进行更改。
  2. 根据需要添加或更新测试。
  3. 确保您的代码遵循 Swift 风格指南和最佳实践。
  4. 运行现有测试以确保它们仍然通过。
  5. 为新功能添加新测试。

提交更改

  1. 将您的更改推送到您在 GitHub 上的 Fork。
  2. 提交一个 pull request 到主要的 fit-parser-swift 仓库。
  3. 在您的 pull request 描述中,清楚地描述您正在解决的问题和提出的解决方案。
  4. 在 pull request 描述中链接任何相关问题。

代码风格

测试

文档

报告问题

许可证

本项目已获得 MIT 许可证的许可。 有关完整的许可文本,请参阅 LICENSE 文件。

版权所有 (c) 2024 Latisha Besariani Hendra。

特此授予任何获得本软件和相关文档文件(“软件”)副本的人员免费许可,以不受限制地处理本软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售本软件副本的权利,并允许向其提供本软件的人员这样做,但须符合 LICENSE 文件中规定的条件。

FIT 协议声明

此解析器基于灵活和可互操作的数据传输 (FIT) 协议,该协议受 Garmin International, Inc. 的 FIT 协议许可协议 的约束。 此解析器的用户必须遵守该协议的条款。

用户有责任确保他们对该解析器的使用符合 MIT 许可证和 FIT 协议许可协议。

致谢