No image named '' found in asset catalog for 〜〜というエラーをググると英語か古い記事しかヒットしなかったので、備忘録としてエラー内容と対応を記しておきます。
結論
アセット(画像)がない。ただそれだけ!英語の原文のままです。
もう少し書きます。
SwiftUIの場合、以下のようなコードで画像を描写することを宣言しますが、Assets.xcassetsに宣言されたアセットがないためタイトルにあるエラーが出るよって話でした。
Image("アセット名")
対応
Assets.xcassetsにアセット(画像とか)を登録してあげればよい。
タイポ起こりがちだから注意。
【余談】自分の場合は変数を使ってエラーになっていた
自分の場合はここに変数を代入していてエラーになっていた。
こんなかんじ↓
@State var hoge = ""
Image(hoge)
なので、以下のような対応で回避した。
@State var hoge = "hoge"
if hoge.isEmpty == false {
Image(hoge)
}
または、以下のようにBoolを使う方法
@State var isHoge = true
if isHoge {
Image("hoge")
}
他にいい方法があるのかもですが、そのときはご指摘いただけると幸いです。
終わりに
エラーが出ていても画像が描写されないだけなのでアプリ自体は問題なく動く。
今後バグの原因になりそうなのと、他のエンジニアにとっても見落としなのかとも思われそうなので、しっかりエラー内容は理解して潰していきたい。そう思った今日このごろ。