Foundation ICU

此版本的 ICU4C 项目包含为 Foundation package 使用而定制的扩展。它从 Apple OSS Distribution's ICU 自动提取,以添加 Swift Package Manager 支持。对 ICU 核心功能的改进应向上游 ICU4C 库提出,而不是向此软件包提出。

版本控制

请参阅以下版本矩阵

FoundationICU 版本 ICU 版本
0.0.2 及更低版本 70.1
0.0.3 ~ 0.0.9 72.1
0.0.10 及更高版本 74.0

将 FoundationICU 添加为依赖项

⚠️此软件包旨在作为 Foundation package 的依赖项。它不适合作为“通用” ICU4C 库使用,因为所有与 SwiftPM 构建无关的文件都已被删除。此软件包被认为是 Foundation 的私有实现细节,其 API 表面和结构可能会在主要版本之间发生变化。

要在 SwiftPM 项目中使用 FoundationICU 库,请将以下行添加到你的 Package.swift 文件中的依赖项

.package(url: "https://github.com/apple/swift-foundation-icu", from: "0.0.3"),

"FoundationICU" 作为依赖项包含在你的目标中

.target(name: "<target>", dependencies: [
    .product(name: "FoundationICU", package: "swift-foundation-icu"),
]),

最后,将 import FoundationICU 添加到你的源代码中。现在你应该能够直接使用/扩展 ICU 类型

import FoundationICU

extension UCalendarAttribute {
    static let lenient = UCAL_LENIENT
    static let firstDayOfWeek = UCAL_FIRST_DAY_OF_WEEK
    static let minimalDaysInFirstWeek = UCAL_MINIMAL_DAYS_IN_FIRST_WEEK
}

未来改进