SwiftUIではコンポーネントにblurをかけることが簡単になっている。

これはUIKitではできないものかと。

CALayerには古くからfilterというプロパティがある (たしかmacOSではCIFilterが使えたんだっけ?)

iOSではCAFilterというオブジェクトが利用されているようだがそれはprivate-api

Is CAFilter still a private API?

CAFilter

しかし、SwiftUIでblurや明るさ調整など、明らかにフィルターが担当することを呼び出せること、そして、それらをUIKitとCoreAnimationという資産の上で基本は成り立っているSwiftUIということからCALayer.filtersが使われていると推測。

RevealでBlurをかけたコンポーネントのアドレスを取得し、LLDBから覗いてみる。

(lldb) po [(CALayer*)0x600003cb0cc0 filters]
<Swift.__SwiftDeferredNSArray 0x600003cb0d00>(
colorBrightness,
gaussianBlur
)

やはり。