2

If I launch my app from a push notification the app crash while showing splash screen.

How can I solve this issue?

The crash comes only with iOS9, while everything works with iOS8.

Thanks for the help!

This is my crash log:

Last Exception Backtrace:

0   CoreFoundation                  0x185900f5c __exceptionPreprocess + 124
1   libobjc.A.dylib                 0x19a4f3f80 objc_exception_throw + 56
2   CoreFoundation                  0x185900e2c +[NSException raise:format:arguments:] + 108
3   Foundation                      0x1867eff3c -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 112
4   UIKit                           0x18b0f86a4 -[UIApplication _runWithMainScene:transitionContext:completion:] + 2912
5   UIKit                           0x18b0f5300 -[UIApplication workspaceDidEndTransaction:] + 168
6   FrontBoardServices              0x18f6477ec -[FBSSerialQueue _performNext] + 184
7   FrontBoardServices              0x18f647b6c -[FBSSerialQueue _performNextFromRunLoopSource] + 56
8   CoreFoundation                  0x1858b85a4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
9   CoreFoundation                  0x1858b8038 __CFRunLoopDoSources0 + 540
10  CoreFoundation                  0x1858b5d38 __CFRunLoopRun + 724
11  CoreFoundation                  0x1857e4dc0 CFRunLoopRunSpecific + 384
12  UIKit                           0x18aec40c8 -[UIApplication _run] + 460
13  UIKit                           0x18aebef60 UIApplicationMain + 204
14  Sudoku                          0x1000c0444 main (main.m:17)
15  libdyld.dylib                   0x19ad1e8b8 start + 4

Here my code:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
    NSDictionary *aps = [userInfo objectForKey:@"aps"];
    NSLog(@"RECEIVE REMOTE NOTIFICATION - APS: %@", aps);

    //Notifica push tipo MATCH_REQUEST
    if ( [[userInfo objectForKey:@"type"] isEqualToString:@"MATCH_REQUEST"] == YES )
    {
        if (application.applicationState == UIApplicationStateInactive)
        {
            NSLog(@"Inactive");
            [self showRequestPushNotification:[aps objectForKey:@"alert"] withDictionary:userInfo];
        }
        else if (application.applicationState == UIApplicationStateBackground)
        {
            NSLog(@"Background");
            [self showRequestPushNotification:[aps objectForKey:@"alert"] withDictionary:userInfo];
        }
        else
        {
            NSLog(@"Active");
            [self showRequestPushNotification:[aps objectForKey:@"alert"] withDictionary:userInfo];
        }
    }

    //Notifica push tipo MATCH_GAME
    else if ( [[userInfo objectForKey:@"type"] isEqualToString:@"NEW_MATCH"] == YES )
    {
        if (application.applicationState == UIApplicationStateInactive)
        {
            NSLog(@"Inactive");
            [self showMatchPushNotification:[aps objectForKey:@"alert"] withDictionary:userInfo];
        }
        else if (application.applicationState == UIApplicationStateBackground)
        {
            NSLog(@"Background");
            [self showMatchPushNotification:[aps objectForKey:@"alert"] withDictionary:userInfo];
        }
        else
        {
            NSLog(@"Active");
            [self showMatchPushNotification:[aps objectForKey:@"alert"] withDictionary:userInfo];
        }
    }
}

SOLVED

The problem is the follows: if I try to show custom notification message while the app isn't in the Active State, the app crash. Before iOS 9 this bug does not appears. So, be careful with the applicationState and check the activeState before manage UIView or UIWindow (graphics objects in general).

  • How did you manage to get that crash log? Did your app crash in appDidFinishLaunching? – Van Du Tran Sep 29 '15 at 19:12
  • Actually, for me it's not just iOS 9, but iOS 8.4.1 too. – Van Du Tran Sep 29 '15 at 19:14
  • This is the crash log copied from my iPhone device log. If I open my app from an incoming push notification before iOS 9 everything works. I see this problem only with iOS 9. I think that the app crash in appDidFinishLaunching. I also tried to comment all push notification code from appDidFinishLaunching but nothing change... – Riccardo.Paolillo Sep 29 '15 at 21:57
  • Can you paste your code in `func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject], fetchCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void) {` – Van Du Tran Sep 29 '15 at 23:30
  • This happens on my app as well, when **some** users on **production** respond to a **local notification** using an action button. – Kof Oct 28 '15 at 06:13
  • SOLVED - The problem is the follows: if I try to show custom notification message while the app isn't in the Active State, the app crash. Before iOS 9 this bug does not appears. So, be careful with the applicationState and check the activeState before manage UIView or UIWindow (graphics objects in general). – Riccardo.Paolillo Nov 07 '15 at 11:30

0 Answers0