此版本的 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 |
⚠️ 此软件包旨在作为 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
}
[uint8_t]
形式嵌入到二进制文件中(请参阅 icu_packaged_data.h
)。未来,我们希望检入源文件,并将数据构建为共享库,以避免维护和加载单独的数据文件的需要。