Можно ли вызвать уведомление пользователя после использования функции NSSetUncaughtExceptionHandler? - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь отправить повторное выполнение pu sh до того, как приложение умрет в общем исключении приложения. Я пытаюсь использовать appdelegate, и если вы посмотрите на приведенный ниже источник, он обычно нажимает в фоновом режиме при возникновении исключения. Я хочу отправить пу sh на передний план, но спросите, возможно ли это. Я пробовал разные вещи в уведомлении пользователей, но мне интересно, есть ли проблема в коде, работает ли он неправильно или нет. Было бы очень полезно, если бы вы могли ответить

#import <UserNotifications/UserNotifications.h>
@interface AppDelegate : <UNUserNotificationCenterDelegate>

didFinishLaunchingWithOptions > NSSetUncaughtExceptionHandler(&CrashExceptionHandler);

void CrashExceptionHandler(NSException *exception) {
  
        UNMutableNotificationContent *content = [[UNMutableNotificationContent alloc] init];
        content.title = [NSString localizedUserNotificationStringForKey:@"alarm" arguments:nil];
        content.body = [NSString localizedUserNotificationStringForKey:@"app restart"
                                                             arguments:nil];
        content.sound = [UNNotificationSound defaultSound];
        
        UNTimeIntervalNotificationTrigger *trigger = [UNTimeIntervalNotificationTrigger triggerWithTimeInterval:1 repeats:NO];

        UNNotificationRequest *request = [UNNotificationRequest requestWithIdentifier:@"background Call"
                                                                              content:content trigger:trigger];
        UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
        [center addNotificationRequest:request withCompletionHandler:^(NSError * _Nullable error) {
            if (!error) {
                NSLog(@"addNotificationRequest ok");
            }
        }];
    }

-(void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler{
    NSLog(@"User Info : %@",notification.request.content.userInfo);
    completionHandler(UNAuthorizationOptionSound | UNAuthorizationOptionAlert | UNAuthorizationOptionBadge);

    completionHandler(UNNotificationPresentationOptionAlert);
}
   

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...