🍎

[SwiftUI]Preview使用時のクラッシュ

2022/05/11に公開

概要

Preview使用時に以下のクラッシュが発生した際の対応策です。
CrashReportError: Preview is missing environment object "xxx"

原因

environment objectが必要なViewを使用している、
Previewでもenvironment objectをセットしていない為起こります。

対応

Preview内でもenvironment objectをセットしてあげます。

対応前

@EnvironmentObject var viewModel: ViewModel
...
struct SampleView_Previews: PreviewProvider {
    static var previews: some View {
        SampleView()
    }
}

対応後

@EnvironmentObject var viewModel: ViewModel
...
struct SampleView_Previews: PreviewProvider {
    static var previews: some View {
        SampleView().environmentObject(ViewModel())
    }
}

Discussion