I want to create a blurred view in SwiftUI using NSViewRepresentable but XCode gives me an error message that says "Cannot find type 'NSViewRepresentable' in scope".
import SwiftUI
struct BlurWindow: NSViewRepresentable { //Cannot find type 'NSViewRepresentable' in scope
func makeNSView(context: Context) -> NSVisualEffectView { //Cannot find type 'Context' in scope
let view = NSVisualEffectView() //Cannot find type 'NSVisualEffectView' in scope
view.blendingMode = .behindWindow
return view
}
func updateNSView(_ nsView: NSVisualEffectView, context: Context) { //Cannot find type 'Context' in scope
}
}
However, when I copied and pasted this exact same code into a new brand new Xcode project, there are no errors. I searched all over Google and StackOverflow and haven't found anyone with the same issue.
Does your project have an iOS target? Are you building that target? If so, make sure the file is not included in this target(using the file inspector under Target Membership) since NSViewRepresentable is not available on iOS.
Alternatively you can wrap your code in #if os(macOS)
and #endif
.