aboutsummaryrefslogtreecommitdiffhomepage
path: root/Firebase/Messaging/FIRMessagingUtilities.m
diff options
context:
space:
mode:
Diffstat (limited to 'Firebase/Messaging/FIRMessagingUtilities.m')
-rw-r--r--Firebase/Messaging/FIRMessagingUtilities.m15
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];
+}