diff options
Diffstat (limited to 'Firebase/Messaging/FIRMessagingUtilities.m')
-rw-r--r-- | Firebase/Messaging/FIRMessagingUtilities.m | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Firebase/Messaging/FIRMessagingUtilities.m b/Firebase/Messaging/FIRMessagingUtilities.m index 60f3f28..fa3a233 100644 --- a/Firebase/Messaging/FIRMessagingUtilities.m +++ b/Firebase/Messaging/FIRMessagingUtilities.m @@ -20,6 +20,8 @@ #import "FIRMessagingLogger.h" +#import <GoogleUtilities/GULAppEnvironmentUtil.h> + // Convert the macro to a string #define STR_EXPAND(x) #x #define STR(x) STR_EXPAND(x) @@ -171,3 +173,16 @@ uint64_t FIRMessagingGetFreeDiskSpaceInMB(void) { return 0; } } + +UIApplication *FIRMessagingUIApplication(void) { + static Class applicationClass = nil; + // iOS App extensions should not call [UIApplication sharedApplication], even if UIApplication + // responds to it. + if (![GULAppEnvironmentUtil isAppExtension]) { + Class cls = NSClassFromString(@"UIApplication"); + if (cls && [cls respondsToSelector:NSSelectorFromString(@"sharedApplication")]) { + applicationClass = cls; + } + } + return [applicationClass sharedApplication]; +} |