-
Notifications
You must be signed in to change notification settings - Fork 41
/
Copy pathAppDelegate.swift
83 lines (69 loc) · 4 KB
/
AppDelegate.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
//
// AppDelegate.swift
// EventsApp
//
import AWSAppSync
import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
var appSyncClient: AWSAppSyncClient?
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
// You can choose the directory in which AppSync stores its persistent cache databases:
// let cacheConfiguration = AWSAppSyncCacheConfiguration(withRootDirectory: rootDirectoryURL)
// or use the default configuration to store the databases in the app's Cache directory:
// let cacheConfiguration = AWSAppSyncCacheConfiguration()
// or use in-memory (rather than persistent) caching by not specifying a cache configuration:
// let appSyncConfig = try AWSAppSyncClientConfiguration(appSyncServiceConfig: AWSAppSyncServiceConfig())
// or even specify individual caches. Passing `nil` to any of these will cause it to be in-memory:
// let cacheConfiguration= AWSAppSyncCacheConfiguration(
// // or nil to use in-memory cache
// offlineMutations: pathToOfflineMutationDB,
// queries: pathToQueriesDB,
// subscriptionMetadataCache: pathToSubscriptionMetadataDB)
do {
// initialize the AppSync client configuration configuration
let cacheConfiguration = try AWSAppSyncCacheConfiguration()
let appSyncConfig = try AWSAppSyncClientConfiguration(appSyncServiceConfig: AWSAppSyncServiceConfig(),
cacheConfiguration: cacheConfiguration)
// initialize app sync client
appSyncClient = try AWSAppSyncClient(appSyncConfig: appSyncConfig)
// set id as the cache key for objects
appSyncClient?.apolloClient?.cacheKeyForObject = { $0["id"] }
print("AppSyncClient initialized with cacheConfiguration: \(cacheConfiguration)")
} catch {
print("Error initializing AppSync client. \(error)")
}
return true
}
func applicationWillResignActive(_ application: UIApplication) {
// Sent when the application is about to move from active to inactive state. This
// can occur for certain types of temporary interruptions (such as an incoming
// phone call or SMS message) or when the user quits the application and it begins
// the transition to the background state.
// Use this method to pause ongoing tasks, disable timers, and invalidate graphics
// rendering callbacks. Games should use this method to pause the game.
}
func applicationDidEnterBackground(_ application: UIApplication) {
// Use this method to release shared resources, save user data, invalidate timers,
// and store enough application state information to restore your application to
// its current state in case it is terminated later.
// If your application supports background execution, this method is called
// instead of applicationWillTerminate: when the user quits.
}
func applicationWillEnterForeground(_ application: UIApplication) {
// Called as part of the transition from the background to the active state; here
// you can undo many of the changes made on entering the background.
}
func applicationDidBecomeActive(_ application: UIApplication) {
// Restart any tasks that were paused (or not yet started) while the application
// was inactive. If the application was previously in the background, optionally
// refresh the user interface.
}
func applicationWillTerminate(_ application: UIApplication) {
// Called when the application is about to terminate. Save data if appropriate.
// See also applicationDidEnterBackground:.
}
}