aws-appsync-realtime-client.../AppSyncRTCSample/AppDelegate.swift

61 lines
2.0 KiB
Swift

//
// Copyright Amazon.com Inc. or its affiliates.
// All Rights Reserved.
//
// SPDX-License-Identifier: Apache-2.0
//
import os.log
import UIKit
import AppSyncRealTimeClient
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
// Override point for customization after application launch.
// Initialize the subscription, don't do anything in particular with it
_ = AppSyncRTCProvider.default
return true
}
// MARK: UISceneSession Lifecycle
func application(
_ application: UIApplication,
configurationForConnecting connectingSceneSession: UISceneSession,
options: UIScene.ConnectionOptions
) -> UISceneConfiguration {
// Called when a new scene session is being created.
// Use this method to select a configuration to create the new scene with.
return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role)
}
func application(
_ application: UIApplication,
didDiscardSceneSessions sceneSessions: Set<UISceneSession>
) {
// Called when the user discards a scene session.
// If any sessions were discarded while the application was not running, this will
// be called shortly after application:didFinishLaunchingWithOptions.
// Use this method to release any resources that were specific to the discarded
// scenes, as they will not return.
}
func applicationWillResignActive(_ application: UIApplication) {
OSLog.subscription.log("\(#function), unsubscribing", log: .subscription)
AppSyncRTCProvider.default.unsubscribe()
}
func applicationDidEnterBackground(_ application: UIApplication) {
OSLog.subscription.log("\(#function), unsubscribing", log: .subscription)
AppSyncRTCProvider.default.unsubscribe()
}
}