iOS - Application Lifecycle Module
note
To receive application lifecycle events, a proper implementation of the
ApplicationLifecycleModule
protocol is required. Q2MobileCore will interact with your
module for various application lifecycle events.
The ApplicationLifecycleModule
interface is used when creating a module that needs to
respond to application lifecycle events. This module provides callbacks for various
application states including launch, foreground/background transitions, memory warnings,
and termination.
Application Events
The module receives notifications for the following events:
- When application did finish launching with options
- When application will enter foreground
- When application did become active
- When application will resign active
- When application did enter background
- When application did receive memory warning
- When application will terminate
- When application significant time change
Implementation
Implementing an ApplicationLifecycleModule
is straightforward—create an NSObject class
conforming to the ApplicationLifecycleModule protocol requirements.
Sample ApplicationLifecycleModule Implementation
import Q2ModuleInterfaces
class CustomApplicationLifecycleModule: ApplicationLifecycleModule {
var moduleDelegate: ModuleDelegate?
var moduleDataSource: ModuleDataSource?
public func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]?) -> Bool? {
print("CustomApplicationLifecycleModule: didFinishLaunchingWithOptions")
return nil
}
public func applicationWillEnterForeground(_ application: UIApplication) {
print("CustomApplicationLifecycleModule: didFinishLaunchingWithOptions")
}
public func applicationDidBecomeActive(_ application: UIApplication) {
print("CustomApplicationLifecycleModule: applicationDidBecomeActive")
}
public func applicationWillResignActive(_ application: UIApplication) {
print("CustomApplicationLifecycleModule: applicationWillResignActive")
}
public func applicationDidEnterBackground(_ application: UIApplication) {
print("CustomApplicationLifecycleModule: applicationDidEnterBackground")
}
public func applicationDidReceiveMemoryWarning(_ application: UIApplication) {
print("CustomApplicationLifecycleModule: applicationDidReceiveMemoryWarning")
}
public func applicationWillTerminate(_ application: UIApplication) {
print("CustomApplicationLifecycleModule: applicationWillTerminate")
}
public func applicationSignificantTimeChange(_ application: UIApplication) {
print("CustomApplicationLifecycleModule: applicationSignificantTimeChange")
}
}