Skip to content

Commit 8ce71d8

Browse files
committed
Foward notif opens to the legacy app selector for non OneSignal notifs
Based on #1131
1 parent 93f5eb3 commit 8ce71d8

File tree

1 file changed

+14
-39
lines changed

1 file changed

+14
-39
lines changed

iOS_SDK/OneSignalSDK/OneSignalNotifications/Categories/UNUserNotificationCenter+OneSignalNotifications.m

Lines changed: 14 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -308,35 +308,11 @@ void finishProcessingNotification(UNNotification *notification,
308308
completionHandler(completionHandlerOptions);
309309
}
310310

311-
// Apple's docs - Called to let your app know which action was selected by the user for a given notification.
312-
- (void)onesignalUserNotificationCenter:(UNUserNotificationCenter *)center
313-
didReceiveNotificationResponse:(UNNotificationResponse *)response
314-
withCompletionHandler:(void(^)(void))completionHandler {
315-
[OneSignalNotificationsUNUserNotificationCenter traceCall:@"onesignalUserNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:"];
316-
// return if the user has not granted privacy permissions or if not a OneSignal payload
317-
if ([OSPrivacyConsentController shouldLogMissingPrivacyConsentErrorWithMethodName:nil] || ![OneSignalCoreHelper isOneSignalPayload:response.notification.request.content.userInfo]) {
318-
SwizzlingForwarder *forwarder = [[SwizzlingForwarder alloc]
319-
initWithTarget:self
320-
withYourSelector:@selector(
321-
onesignalUserNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:
322-
)
323-
withOriginalSelector:@selector(
324-
userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:
325-
)
326-
];
327-
if (forwarder.hasReceiver) {
328-
[forwarder invokeWithArgs:@[center, response, completionHandler]];
329-
} else {
330-
completionHandler();
331-
}
332-
return;
333-
}
334-
335-
[OneSignalLog onesignalLog:ONE_S_LL_VERBOSE message:@"onesignalUserNotificationCenter:didReceiveNotificationResponse:withCompletionHandler: Fired!"];
336-
337-
[OneSignalNotificationsUNUserNotificationCenter processiOS10Open:response];
338-
339-
// Call orginal selector if one was set.
311+
+ (void)forwardReceivedNotificationResponseWithCenter:(UNUserNotificationCenter *)center
312+
didReceiveNotificationResponse:(UNNotificationResponse *)response
313+
OneSignalCenter:(id)instance
314+
withCompletionHandler:(void(^)(void))completionHandler {
315+
// Call original selector if one was set.
340316
SwizzlingForwarder *forwarder = [[SwizzlingForwarder alloc]
341317
initWithTarget:instance
342318
withYourSelector:@selector(
@@ -365,20 +341,19 @@ - (void)onesignalUserNotificationCenter:(UNUserNotificationCenter *)center
365341
completionHandler();
366342
}
367343

368-
369344
// Apple's docs - Called to let your app know which action was selected by the user for a given notification.
370345
- (void)onesignalUserNotificationCenter:(UNUserNotificationCenter *)center
371346
didReceiveNotificationResponse:(UNNotificationResponse *)response
372-
withCompletionHandler:(void(^)())completionHandler {
373-
[OneSignalUNUserNotificationCenter traceCall:@"onesignalUserNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:"];
374-
375-
if (![OSPrivacyConsentController shouldLogMissingPrivacyConsentErrorWithMethodName:nil] && [OneSignalHelper isOneSignalPayload:response.notification.request.content.userInfo]) {
376-
[OneSignal onesignalLog:ONE_S_LL_VERBOSE message:@"onesignalUserNotificationCenter:didReceiveNotificationResponse:withCompletionHandler: Fired!"];
377-
378-
[OneSignalUNUserNotificationCenter processiOS10Open:response];
347+
withCompletionHandler:(void(^)(void))completionHandler {
348+
[OneSignalNotificationsUNUserNotificationCenter traceCall:@"onesignalUserNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:"];
349+
350+
if (![OSPrivacyConsentController shouldLogMissingPrivacyConsentErrorWithMethodName:nil] && [OneSignalCoreHelper isOneSignalPayload:response.notification.request.content.userInfo]) {
351+
[OneSignalLog onesignalLog:ONE_S_LL_VERBOSE message:@"onesignalUserNotificationCenter:didReceiveNotificationResponse:withCompletionHandler: Fired!"];
352+
353+
[OneSignalNotificationsUNUserNotificationCenter processiOS10Open:response];
379354
}
380-
381-
[OneSignalUNUserNotificationCenter forwardReceivedNotificationResponseWithCenter:center didReceiveNotificationResponse:response OneSignalCenter:self withCompletionHandler:completionHandler];
355+
356+
[OneSignalNotificationsUNUserNotificationCenter forwardReceivedNotificationResponseWithCenter:center didReceiveNotificationResponse:response OneSignalCenter:self withCompletionHandler:completionHandler];
382357
}
383358

384359
+ (BOOL)isDismissEvent:(UNNotificationResponse *)response {

0 commit comments

Comments
 (0)