URLCompatibilityKit 是一个轻量级的 Swift 包,它为 URL
添加了常用类型属性、类型和实例属性的兼容性向后移植,这些属性仅在 iOS 16.0+ / macOS 13.0+ / tvOS 16.0+ / watchOS 9.0+ 版本中可用。
避免在代码中使用条件编译指令!
没有 URLCompatibilityKit | 使用 URLCompatibilityKit |
---|---|
let fileURL: URL
if #available(iOS 16.0, *) {
fileURL = URL
.documentsDirectory
.appending(path: "myfile")
} else {
fileURL = try FileManager.default
.url(
for: .documentDirectory,
in: .userDomainMask,
appropriateFor: nil,
create: false
)
.appendingPathComponent(
"myfile", isDirectory: false
)
}
|
import URLCompatibilityKit
let fileURL = URL
.documentsDirectory
.appending(path: "myfile")
|
它目前包含以下 API 的向后兼容版本
类型属性
URL.applicationDirectory
URL.applicationSupportDirectory
URL.cachesDirectory
URL.desktopDirectory
URL.documentsDirectory
URL.downloadsDirectory
URL.homeDirectory
URL.libraryDirectory
URL.moviesDirectory
URL.musicDirectory
URL.picturesDirectory
URL.sharedPublicDirectory
URL.temporaryDirectory
URL.trashDirectory
URL.userDirectory
类型方法
URL.currentDirectory() -> URL
homeDirectory(forUser: String) -> URL?
实例方法
append(path:)
// 相当于使用 URL.DirectoryHint = .inferFromPathappending(path:)
// 相当于使用 URL.DirectoryHint = .inferFromPath一旦你准备好将 iOS 16 作为你的最低部署目标,你可以安全地从你的项目中取消链接 URLCompatibilityKit,而无需对你的代码库进行任何额外的更改(除了删除所有 import URLCompatibilityKit
语句)。
当集成到基于 iOS 16 的项目中时,URLCompatibilityKit 将其添加的 API 标记为过时或已弃用,因此一旦你可以直接使用匹配的系统 API,你将收到不再需要它的提醒。
URLCompatibilityKit 使用 Swift Package Manager 分发。 要安装它,请使用 Xcode 的 File > Add Packages...
菜单命令将其添加到您的 iOS 应用程序项目中。
然后在任何你想使用它的地方导入 URLCompatibilityKit
import URLCompatibilityKit