krz/domain-dig

an ios app for DNS & SSL analysis

clone: git clone https://gitbay.org/krz/domain-dig.git

v5.0.3: DomainDig/ExportPresenter.swift · raw

 1import SwiftUI
 2import UIKit
 3
 4enum ExportPresenter {
 5    static func share(filename: String, contents: String) {
 6        share(filename: filename, data: Data(contents.utf8))
 7    }
 8
 9    static func share(filename: String, data: Data) {
10        let url = FileManager.default.temporaryDirectory.appendingPathComponent(filename)
11
12        do {
13            try data.write(to: url, options: .atomic)
14        } catch {
15            return
16        }
17
18        let activityController = UIActivityViewController(activityItems: [url], applicationActivities: nil)
19        guard let windowScene = UIApplication.shared.connectedScenes.first as? UIWindowScene,
20              let rootViewController = windowScene.keyWindow?.rootViewController else {
21            return
22        }
23
24        var presenter = rootViewController
25        while let presentedViewController = presenter.presentedViewController {
26            presenter = presentedViewController
27        }
28
29        activityController.popoverPresentationController?.sourceView = presenter.view
30        presenter.present(activityController, animated: true)
31    }
32}