Skip to content

Commit

Permalink
registering for scene and application lifecycle observers
Browse files Browse the repository at this point in the history
  • Loading branch information
emawby committed Aug 4, 2020
1 parent d592a10 commit 9f79fa1
Showing 1 changed file with 19 additions and 39 deletions.
58 changes: 19 additions & 39 deletions iOS_SDK/OneSignalSDK/Source/OneSignalLifecycleObserver.m
Original file line number Diff line number Diff line change
Expand Up @@ -29,35 +29,29 @@ +(OneSignalLifecycleObserver*) sharedInstance {
}

+ (void)registerLifecycleObserver {
// Replace swizzled lifecycle selectors with notification center observers for scene based Apps
[[NSNotificationCenter defaultCenter] addObserver:[OneSignalLifecycleObserver sharedInstance] selector:@selector(applicationDidBecomeActive) name:UIApplicationDidBecomeActiveNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:[OneSignalLifecycleObserver sharedInstance] selector:@selector(applicationWillResignActive) name:UIApplicationWillResignActiveNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:[OneSignalLifecycleObserver sharedInstance] selector:@selector(applicationDidEnterBackground) name:UIApplicationDidEnterBackgroundNotification object:nil];


// Replacing swizzled lifecycle selectors with notification center observers for scene based Apps
if (@available(iOS 13.0, *)) {
[[NSNotificationCenter defaultCenter] addObserver:[OneSignalLifecycleObserver sharedInstance] selector:@selector(sceneDidEnterBackground) name:UISceneDidEnterBackgroundNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:[OneSignalLifecycleObserver sharedInstance] selector:@selector(sceneDidBecomeActive) name:UISceneDidActivateNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:[OneSignalLifecycleObserver sharedInstance] selector:@selector(sceneWillResignActive) name:UISceneWillDeactivateNotification object:nil];
NSDictionary *sceneManifest = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"UIApplicationSceneManifest"];
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:@"registering for Scene Lifecycle notifications"];
if (sceneManifest) {
[[NSNotificationCenter defaultCenter] addObserver:[OneSignalLifecycleObserver sharedInstance] selector:@selector(didEnterBackground) name:UISceneDidEnterBackgroundNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:[OneSignalLifecycleObserver sharedInstance] selector:@selector(didBecomeActive) name:UISceneDidActivateNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:[OneSignalLifecycleObserver sharedInstance] selector:@selector(willResignActive) name:UISceneWillDeactivateNotification object:nil];
return;
}
}
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:@"registering for Application Lifecycle notifications"];
[[NSNotificationCenter defaultCenter] addObserver:[OneSignalLifecycleObserver sharedInstance] selector:@selector(didEnterBackground) name:UIApplicationDidEnterBackgroundNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:[OneSignalLifecycleObserver sharedInstance] selector:@selector(didBecomeActive) name:UIApplicationDidBecomeActiveNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:[OneSignalLifecycleObserver sharedInstance] selector:@selector(willResignActive) name:UIApplicationWillResignActiveNotification object:nil];
}

+ (void)removeObserver {
[[NSNotificationCenter defaultCenter] removeObserver:[OneSignalLifecycleObserver sharedInstance]];
}

- (void)sceneDidBecomeActive {
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:@"ecm sceneDidBecomeActive"];

if ([OneSignal app_id]) {
[OneSignalTracker onFocus:NO];
[OneSignalLocation onFocus:YES];
[[OSMessagingController sharedInstance] onApplicationDidBecomeActive];
}
}

- (void)applicationDidBecomeActive {
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:@"ecm applicationDidBecomeActive"];
- (void)didBecomeActive {
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:@"application/scene didBecomeActive"];

if ([OneSignal app_id]) {
[OneSignalTracker onFocus:NO];
Expand All @@ -66,29 +60,15 @@ - (void)applicationDidBecomeActive {
}
}

- (void)sceneWillResignActive {
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:@"ecm sceneWillResignActive"];
- (void)willResignActive {
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:@"application/scene willResignActive"];

if ([OneSignal app_id])
[OneSignalTracker onFocus:YES];
}

- (void)applicationWillResignActive {
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:@"ecm applicationWillResignActive"];

if ([OneSignal app_id])
[OneSignalTracker onFocus:YES];
}

- (void)sceneDidEnterBackground {
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:@"ecm sceneDidEnterBackground"];

if ([OneSignal app_id])
[OneSignalLocation onFocus:NO];
}

- (void)applicationDidEnterBackground {
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:@"ecm applicationDidEnterBackground"];
- (void)didEnterBackground {
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:@"application/scene didEnterBackground"];

if ([OneSignal app_id])
[OneSignalLocation onFocus:NO];
Expand Down

0 comments on commit 9f79fa1

Please sign in to comment.