import SwiftUI import QuickLook struct ContentView: View { @State var url: URL init() { guard let path = Bundle.main.path(forResource: "model", ofType: "usdz") else { fatalError("Couldn't find the supported input file.") } _url = .init(initialValue: URL(fileURLWithPath: path)) print("url: \(url)") } var body: some View { MyPreviewController(url: url) } } struct MyPreviewController: UIViewControllerRepresentable { let url: URL func makeUIViewController(context: Context) -> QLPreviewController { let controller = QLPreviewController() controller.dataSource = context.coordinator return controller } func updateUIViewController( _ uiViewController: QLPreviewController, context: Context) {} func makeCoordinator() -> Coordinator { return Coordinator(parent: self) } class Coordinator: QLPreviewControllerDataSource { let parent: MyPreviewController init(parent: MyPreviewController) { self.parent = parent } func numberOfPreviewItems(in controller: QLPreviewController) -> Int { return 1 } func previewController(_ controller: QLPreviewController, previewItemAt index: Int) -> QLPreviewItem { print("url is \(parent.url.absoluteString)") return parent.url as QLPreviewItem } }