Swift SFSymbol 意外发现 UIImage 为零

问题描述

我有一个我不明白的错误

我测试过的所有设备都没有这个问题。但是,在 ipad mini 4 iOS 13.4 我收到错误Swift runtime failure: Unexpectedly found nil while unwrapping an Optional value

let image = UIImage(systemName: "chevron.forward")?

我正在以编程方式在 viewDidLoad() 上分配值。我测试过的所有设备都没有这个问题,但 mini 4 除外。

我认为 SF 符号适用于 iOS 13+,但我似乎可以理解为什么 iPad mini 4 会发生崩溃。

苹果声明,

“SF 符号在 iOS 13 及更高版本、macOS 11 及更高版本中可用, watchOS 6 及更高版本,以及 tvOS 13 及更高版本。”

但不分享在不同的 iOS 版本中只能访问特定符号。 Reference

解决方法

Apple 在不同时间添加了新符号。 chevron.forward 符号是在 iOS 14 中添加的,这就是它在 iOS 13 中为您崩溃的原因。