diff --git a/Sources/NetShears/NetShears.swift b/Sources/NetShears/NetShears.swift index bc5d1df..8c28cfe 100644 --- a/Sources/NetShears/NetShears.swift +++ b/Sources/NetShears/NetShears.swift @@ -6,6 +6,7 @@ // import UIKit +import SwiftUI public protocol BodyExporterDelegate: AnyObject { func netShears(exportResponseBodyFor request: NetShearsRequestModel) -> BodyExportType @@ -90,6 +91,11 @@ public final class NetShears: NSObject { UIViewController.currentViewController()?.present(initialVC, animated: true, completion: nil) } } + + @available(iOS 13.0, *) + public func view() -> some View { + NetshearsFlowView() + } public func addCustomRequest(url: String, host: String, diff --git a/Sources/NetShears/UI/NetshearsFlowView.swift b/Sources/NetShears/UI/NetshearsFlowView.swift new file mode 100644 index 0000000..d1704ae --- /dev/null +++ b/Sources/NetShears/UI/NetshearsFlowView.swift @@ -0,0 +1,23 @@ +// +// NetshearsFlowView.swift +// +// +// Created by Sam Rayatnia on 09.02.23. +// + +import SwiftUI + +@available(iOS 13.0, *) +public struct NetshearsFlowView: UIViewControllerRepresentable { + + public func makeUIViewController(context: Context) -> some UIViewController { + let storyboard = UIStoryboard.NetShearsStoryBoard + guard let initialVC = storyboard.instantiateInitialViewController() else { preconditionFailure() } + ((initialVC as? UINavigationController)?.topViewController as? RequestsViewController)?.delegate = NetShears.shared.bodyExportDelegate + return initialVC + } + + public func updateUIViewController(_ uiViewController: UIViewControllerType, context: Context) {} + + +}