krz/domain-dig
an ios app for DNS & SSL analysis
clone: git clone https://gitbay.org/krz/domain-dig.git
main: DomainDig/CloudSharingLifecycle.swift · raw
1import CloudKit
2import UIKit
3
4final class DomainDigAppDelegate: NSObject, UIApplicationDelegate {
5 func application(
6 _: UIApplication,
7 configurationForConnecting connectingSceneSession: UISceneSession,
8 options _: UIScene.ConnectionOptions
9 ) -> UISceneConfiguration {
10 let configuration = UISceneConfiguration(name: nil, sessionRole: connectingSceneSession.role)
11 configuration.delegateClass = DomainDigSceneDelegate.self
12 return configuration
13 }
14}
15
16final class DomainDigSceneDelegate: NSObject, UIWindowSceneDelegate {
17 func scene(_: UIScene, willConnectTo _: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
18 guard let metadata = connectionOptions.cloudKitShareMetadata else { return }
19 accept(metadata: metadata)
20 }
21
22 func windowScene(_: UIWindowScene, userDidAcceptCloudKitShareWith cloudKitShareMetadata: CKShare.Metadata) {
23 accept(metadata: cloudKitShareMetadata)
24 }
25
26 private func accept(metadata: CKShare.Metadata) {
27 Task {
28 try? await CloudSyncService.shared.acceptShare(metadata: metadata)
29 }
30 }
31}