// // RQAppDelegate.m // jiaPei // // Created by 张嵘 on 2020/4/8. // Copyright © 2020 JCZ. All rights reserved. // #import "RQAppDelegate.h" #import "RQAppEventModuleManager.h" @implementation RQAppDelegate + (void)load { [[RQAppEventModuleManager sharedInstance] registedAllModules]; } - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [[RQAppEventModuleManager sharedInstance] handleApplicationEvent:@selector(application:didFinishLaunchingWithOptions:) Complete:^(id _Nonnull module, SEL _Nonnull sel) { #pragma clang diagnostic push #pragma clang diagnostic ignored "-Warc-performSelector-leaks" [module performSelector:sel withObject:application withObject:launchOptions]; #pragma clang diagnostic pop }]; return YES; } - (void)applicationDidEnterBackground:(UIApplication *)application { [[RQAppEventModuleManager sharedInstance] handleApplicationEvent:@selector(applicationDidEnterBackground:) Complete:^(id _Nonnull module, SEL _Nonnull sel) { #pragma clang diagnostic push #pragma clang diagnostic ignored "-Warc-performSelector-leaks" [module performSelector:sel withObject:application]; #pragma clang diagnostic pop }]; } - (void)applicationWillEnterForeground:(UIApplication *)application { [[RQAppEventModuleManager sharedInstance] handleApplicationEvent:@selector(applicationWillEnterForeground:) Complete:^(id _Nonnull module, SEL _Nonnull sel) { #pragma clang diagnostic push #pragma clang diagnostic ignored "-Warc-performSelector-leaks" [module performSelector:sel withObject:application]; #pragma clang diagnostic pop }]; } - (void)applicationWillTerminate:(UIApplication *)application { [[RQAppEventModuleManager sharedInstance] handleApplicationEvent:@selector(applicationWillTerminate:) Complete:^(id _Nonnull module, SEL _Nonnull sel) { #pragma clang diagnostic push #pragma clang diagnostic ignored "-Warc-performSelector-leaks" [module performSelector:sel withObject:application]; #pragma clang diagnostic pop }]; } - (void)applicationWillResignActive:(UIApplication *)application { [[RQAppEventModuleManager sharedInstance] handleApplicationEvent:@selector(applicationWillResignActive:) Complete:^(id _Nonnull module, SEL _Nonnull sel) { #pragma clang diagnostic push #pragma clang diagnostic ignored "-Warc-performSelector-leaks" [module performSelector:sel withObject:application]; #pragma clang diagnostic pop }]; } - (void)applicationDidBecomeActive:(UIApplication *)application { [[RQAppEventModuleManager sharedInstance] handleApplicationEvent:@selector(applicationDidBecomeActive:) Complete:^(id _Nonnull module, SEL _Nonnull sel) { #pragma clang diagnostic push #pragma clang diagnostic ignored "-Warc-performSelector-leaks" [module performSelector:sel withObject:application]; #pragma clang diagnostic pop }]; } - (void)application:(UIApplication *)application handleEventsForBackgroundURLSession:(NSString *)identifier completionHandler:(void (^)(void))completionHandler { [[RQAppEventModuleManager sharedInstance] handleApplicationEvent:@selector(application:handleEventsForBackgroundURLSession:completionHandler:) Complete:^(id _Nonnull module, SEL _Nonnull sel) { #pragma clang diagnostic push #pragma clang diagnostic ignored "-Warc-performSelector-leaks" [module performSelector:sel withObject:identifier withObject:completionHandler]; #pragma clang diagnostic pop }]; } - (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings { [[RQAppEventModuleManager sharedInstance] handleApplicationEvent:@selector(application:didRegisterUserNotificationSettings:) Complete:^(id _Nonnull module, SEL _Nonnull sel) { #pragma clang diagnostic push #pragma clang diagnostic ignored "-Warc-performSelector-leaks" [module performSelector:sel withObject:application withObject:notificationSettings]; #pragma clang diagnostic pop }]; } - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { [[RQAppEventModuleManager sharedInstance] handleApplicationEvent:@selector(application:didRegisterForRemoteNotificationsWithDeviceToken:) Complete:^(id _Nonnull module, SEL _Nonnull sel) { #pragma clang diagnostic push #pragma clang diagnostic ignored "-Warc-performSelector-leaks" [module performSelector:sel withObject:application withObject:deviceToken]; #pragma clang diagnostic pop }]; } - (void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler { [[RQAppEventModuleManager sharedInstance] handleApplicationEvent:@selector(application:performFetchWithCompletionHandler:) Complete:^(id _Nonnull module, SEL _Nonnull sel) { #pragma clang diagnostic push #pragma clang diagnostic ignored "-Warc-performSelector-leaks" [module performSelector:sel withObject:application withObject:completionHandler]; #pragma clang diagnostic pop }]; } - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler { [[RQAppEventModuleManager sharedInstance] handleApplicationEvent:@selector(application:didReceiveRemoteNotification:fetchCompletionHandler:) Complete:^(id _Nonnull module, SEL _Nonnull sel) { #pragma clang diagnostic push #pragma clang diagnostic ignored "-Warc-performSelector-leaks" [module performSelector:sel withObject:userInfo withObject:completionHandler]; #pragma clang diagnostic pop }]; } @end