Skip to content

Commit d0010ab

Browse files
committed
registering for scene and application lifecycle observers
1 parent a8472ea commit d0010ab

File tree

1 file changed

+20
-40
lines changed

1 file changed

+20
-40
lines changed

iOS_SDK/OneSignalSDK/Source/OneSignalLifecycleObserver.m

Lines changed: 20 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -29,35 +29,29 @@ +(OneSignalLifecycleObserver*) sharedInstance {
2929
}
3030

3131
+ (void)registerLifecycleObserver {
32-
// Replace swizzled lifecycle selectors with notification center observers for scene based Apps
33-
[[NSNotificationCenter defaultCenter] addObserver:[OneSignalLifecycleObserver sharedInstance] selector:@selector(applicationDidBecomeActive) name:UIApplicationDidBecomeActiveNotification object:nil];
34-
[[NSNotificationCenter defaultCenter] addObserver:[OneSignalLifecycleObserver sharedInstance] selector:@selector(applicationWillResignActive) name:UIApplicationWillResignActiveNotification object:nil];
35-
[[NSNotificationCenter defaultCenter] addObserver:[OneSignalLifecycleObserver sharedInstance] selector:@selector(applicationDidEnterBackground) name:UIApplicationDidEnterBackgroundNotification object:nil];
36-
37-
32+
// Replacing swizzled lifecycle selectors with notification center observers for scene based Apps
3833
if (@available(iOS 13.0, *)) {
39-
[[NSNotificationCenter defaultCenter] addObserver:[OneSignalLifecycleObserver sharedInstance] selector:@selector(sceneDidEnterBackground) name:UISceneDidEnterBackgroundNotification object:nil];
40-
[[NSNotificationCenter defaultCenter] addObserver:[OneSignalLifecycleObserver sharedInstance] selector:@selector(sceneDidBecomeActive) name:UISceneDidActivateNotification object:nil];
41-
[[NSNotificationCenter defaultCenter] addObserver:[OneSignalLifecycleObserver sharedInstance] selector:@selector(sceneWillResignActive) name:UISceneWillDeactivateNotification object:nil];
34+
NSDictionary *sceneManifest = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"UIApplicationSceneManifest"];
35+
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:@"registering for Scene Lifecycle notifications"];
36+
if (sceneManifest) {
37+
[[NSNotificationCenter defaultCenter] addObserver:[OneSignalLifecycleObserver sharedInstance] selector:@selector(didEnterBackground) name:UISceneDidEnterBackgroundNotification object:nil];
38+
[[NSNotificationCenter defaultCenter] addObserver:[OneSignalLifecycleObserver sharedInstance] selector:@selector(didBecomeActive) name:UISceneDidActivateNotification object:nil];
39+
[[NSNotificationCenter defaultCenter] addObserver:[OneSignalLifecycleObserver sharedInstance] selector:@selector(willResignActive) name:UISceneWillDeactivateNotification object:nil];
40+
return;
41+
}
4242
}
43+
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:@"registering for Application Lifecycle notifications"];
44+
[[NSNotificationCenter defaultCenter] addObserver:[OneSignalLifecycleObserver sharedInstance] selector:@selector(didEnterBackground) name:UIApplicationDidEnterBackgroundNotification object:nil];
45+
[[NSNotificationCenter defaultCenter] addObserver:[OneSignalLifecycleObserver sharedInstance] selector:@selector(didBecomeActive) name:UIApplicationDidBecomeActiveNotification object:nil];
46+
[[NSNotificationCenter defaultCenter] addObserver:[OneSignalLifecycleObserver sharedInstance] selector:@selector(willResignActive) name:UIApplicationWillResignActiveNotification object:nil];
4347
}
4448

4549
+ (void)removeObserver {
4650
[[NSNotificationCenter defaultCenter] removeObserver:[OneSignalLifecycleObserver sharedInstance]];
4751
}
48-
49-
- (void)sceneDidBecomeActive {
50-
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:@"ecm sceneDidBecomeActive"];
51-
52-
if ([OneSignal app_id]) {
53-
[OneSignalTracker onFocus:NO];
54-
[OneSignalLocation onFocus:YES];
55-
[[OSMessagingController sharedInstance] onApplicationDidBecomeActive];
56-
}
57-
}
5852

59-
- (void)applicationDidBecomeActive {
60-
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:@"ecm applicationDidBecomeActive"];
53+
- (void)didBecomeActive {
54+
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:@"application/scene didBecomeActive"];
6155

6256
if ([OneSignal app_id]) {
6357
[OneSignalTracker onFocus:NO];
@@ -66,29 +60,15 @@ - (void)applicationDidBecomeActive {
6660
}
6761
}
6862

69-
- (void)sceneWillResignActive {
70-
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:@"ecm sceneWillResignActive"];
71-
72-
if ([OneSignal app_id])
73-
[OneSignalTracker onFocus:YES];
74-
}
75-
76-
- (void)applicationWillResignActive {
77-
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:@"ecm applicationWillResignActive"];
63+
- (void)willResignActive {
64+
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:@"application/scene willResignActive"];
7865

7966
if ([OneSignal app_id])
80-
[OneSignalTracker onFocus:YES];
81-
}
82-
83-
- (void)sceneDidEnterBackground {
84-
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:@"ecm sceneDidEnterBackground"];
85-
86-
if ([OneSignal app_id])
87-
[OneSignalLocation onFocus:NO];
67+
[OneSignalTracker onFocus:YES];
8868
}
8969

90-
- (void)applicationDidEnterBackground {
91-
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:@"ecm applicationDidEnterBackground"];
70+
- (void)didEnterBackground {
71+
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:@"application/scene didEnterBackground"];
9272

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

0 commit comments

Comments
 (0)