44 lines
1.3 KiB
Swift
44 lines
1.3 KiB
Swift
import UIKit
|
|
import WidgetKit
|
|
|
|
@main
|
|
final class AppDelegate: UIResponder, UIApplicationDelegate {
|
|
var window: UIWindow?
|
|
private var context: AppContext?
|
|
|
|
func application(
|
|
_ application: UIApplication,
|
|
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
|
|
) -> Bool {
|
|
let window = UIWindow(frame: UIScreen.main.bounds)
|
|
let context = AppContext(window: window)
|
|
self.context = context
|
|
window.rootViewController = context.makeRootController()
|
|
window.makeKeyAndVisible()
|
|
self.window = window
|
|
context.notifications.start()
|
|
context.showStartupErrorIfNeeded()
|
|
if let url = launchOptions?[.url] as? URL {
|
|
context.route(widgetURL: url)
|
|
}
|
|
return true
|
|
}
|
|
|
|
func application(
|
|
_ application: UIApplication,
|
|
open url: URL,
|
|
options: [UIApplication.OpenURLOptionsKey: Any] = [:]
|
|
) -> Bool {
|
|
context?.route(widgetURL: url) ?? false
|
|
}
|
|
|
|
func applicationDidBecomeActive(_ application: UIApplication) {
|
|
WidgetCenter.shared.reloadAllTimelines()
|
|
context?.notifications.applicationDidBecomeActive()
|
|
}
|
|
|
|
func applicationDidEnterBackground(_ application: UIApplication) {
|
|
context?.notifications.applicationDidEnterBackground()
|
|
}
|
|
}
|