krz/domain-dig
an ios app for DNS & SSL analysis
clone: git clone https://gitbay.org/krz/domain-dig.git
v4.6.0: DomainDig/CloudSharingLifecycle.swift · raw
1import CloudKit
2import UIKit
3
4final class DomainDigAppDelegate: NSObject, UIApplicationDelegate {
5 func application(
6 _ application: 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(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
18 guard let metadata = connectionOptions.cloudKitShareMetadata else { return }
19 accept(metadata: metadata)
20 }
21
22 func windowScene(_ 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}