mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00

git-subtree-dir: submodules/HockeySDK-iOS git-subtree-mainline: 085acd26c4432939403765234266e3c1be0f3dd9 git-subtree-split: c7d0c7026303253e2ac576c02655691e5d314fe2
44 lines
1.2 KiB
Objective-C
44 lines
1.2 KiB
Objective-C
#import "BITHockeyHelper+Application.h"
|
|
|
|
/*
|
|
* Workaround for exporting symbols from category object files.
|
|
*/
|
|
NSString *BITHockeyHelperApplicationCategory;
|
|
|
|
@implementation BITHockeyHelper (Application)
|
|
|
|
+ (BITApplicationState)applicationState {
|
|
|
|
// App extensions must not access sharedApplication.
|
|
if (!bit_isRunningInAppExtension()) {
|
|
|
|
__block BITApplicationState state;
|
|
dispatch_block_t block = ^{
|
|
state = (BITApplicationState)[[self class] sharedAppState];
|
|
};
|
|
|
|
if ([NSThread isMainThread]) {
|
|
block();
|
|
} else {
|
|
dispatch_sync(dispatch_get_main_queue(), block);
|
|
}
|
|
|
|
return state;
|
|
}
|
|
return BITApplicationStateUnknown;
|
|
}
|
|
|
|
+ (UIApplication *)sharedApplication {
|
|
|
|
// Compute selector at runtime for more discretion.
|
|
SEL sharedAppSel = NSSelectorFromString(@"sharedApplication");
|
|
return ((UIApplication * (*)(id, SEL))[[UIApplication class] methodForSelector:sharedAppSel])([UIApplication class],
|
|
sharedAppSel);
|
|
}
|
|
|
|
+ (UIApplicationState)sharedAppState {
|
|
return [[[[self class] sharedApplication] valueForKey:@"applicationState"] longValue];
|
|
}
|
|
|
|
@end
|