Swift SF 符号 - 仅在 iOS 13.0 或更新版本中可用

Swift SF Symbols - only available in iOS 13.0 or newer error

一直在玩 SF Symbols,它们也令人印象深刻。

然而,当我尝试在我想出的许多 SF 示例的代码中使用它们时:

let image = UIImage(systemName: "hands.clap"). < init(systemName:) is only available in iOS 13.0 or newer

我是否需要像以前一样将图像复制到资产目录中?我想避免的是警告他们使用的每个实例,例如

if #available(iOS 13.0, *) {
            heartImage = UIImage(systemName: "heart.fill")!
        } else {
            heartImage = UIImage(named: "heart.jpeg")
 }

根据大部分说明复制并粘贴了文件名。

我错过了什么?

使用 SFSymbols 只能从 iOS 13 开始使用,但是一些特定的符号也可以有更高的部署版本(14 或 15)在你的应用程序中检查你的项目版本目标“常规”选项卡和所需符号的最小部署。如果你想使用较低的 iOS 符号,你应该像你提到的那样用 if #available(iOS 13.0, *) 标记创建图像。如果您想为较低的 iOS 制作后备图像,您唯一的选择是使用 UIImage(named: "heart.jpeg") 创建单独的资产。您也可以手动导出符号并将其添加到 Assset 目录中,但是请记住,您需要将其从 SVG 格式转换为其他格式,因为 iOS 低于版本 13 也不支持 SVG 保留矢量数据。