StorageSenseKit

StorageSenseKit 是一个轻量级的 Swift 库,它可以简化跟踪和显示设备存储信息的过程。 它提供了一个直观的 API 来访问存储状态,使开发人员能够创建用于存储管理的精美且用户友好的 UI 组件。

特性

• Retrieve current storage usage and availability with minimal effort.
• Preformatted descriptions for easy display.
• Seamless integration with SwiftUI and UIKit projects.
• Modern Swift API design.

安装

1. Add StorageSenseKit to your project using Swift Package Manager (SPM):
2. Open your project in Xcode.
3. Go to File > Add Packages....
4. Enter the URL for this repository: [https://github.com/c2p-cmd/StorageSenseKit/].
5. Select version v1.0.1, and click Add Package.

用法

以下是如何将 StorageSenseKit 集成到 SwiftUI 视图中的示例:

import OSLog
import StorageSenseKit
import SwiftUI

fileprivate let logger = Logger(subsystem: "com.yourapp", category: "StorageSettingsView")

struct StorageSettingsView: View {
    @State private var storageStatus: StorageStatus?

    var body: some View {
        List {
            if let storageStatus = storageStatus {
                ProgressView(value: storageStatus.usedFraction) {
                    Text("Space Available")
                        .font(.headline)
                }
                Text("\(storageStatus.description)")
                Text("\(storageStatus.formattedFreeSpace) Available")
            } else {
                Text("Loading...")
            }
        }
        .onAppear {
            do {
                storageStatus = try .create()
                logger.info("Storage status: \(storageStatus!.description)")
            } catch {
                logger.error("Failed to get storage status: \(error.localizedDescription)")
            }
        }
    }
}

API 参考

StorageStatus

一个提供设备存储详细信息的结构体: - usedFraction:一个 Double 类型的值,表示已用存储空间的分数。 - description:一个总结存储状态的字符串。 - formattedFreeSpace:一个指示可用存储空间的字符串。

方法

- StorageStatus.create()
    - Initializes and returns a StorageStatus instance. This may throw an error if the storage data cannot be retrieved.

贡献

欢迎贡献! 如果您遇到错误或有功能请求,请随时创建问题或提交拉取请求。

许可证

本项目采用 Apache 2.0 许可证。 有关详细信息,请参阅 LICENSE 文件。