9

Potrzebuję wiedzieć, jak otworzyć inny kontroler viewcontroller zamiast głównego kontrolera widoku, gdy otrzymałem powiadomienie push, proszę, pomóżcie z góry, oto mój kod "Jak otworzyć kolejny ekran z głównego ekranu po otrzymaniu powiadomienia push

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    sleep(2); 
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes: 
(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)]; 

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    // Override point for customization after application launch. 
    NSUserDefaults* ud = [NSUserDefaults standardUserDefaults]; 
    consumerId = [[ud objectForKey:@"consumerId"] intValue]; 

    couponSql = [[CouponsSqlClass alloc] init]; 

    if (consumerId == 0) { 
     self.viewController = [[LandingPageViewController alloc] initWithNibName:@"LandingPageViewController" bundle:nil]; 
     self.window.rootViewController = self.viewController; 
    } 
    else { 
     application.applicationIconBadgeNumber = 0; 

     EditProfileViewController* mainViewController = [[EditProfileViewController alloc] initWithNibName:@"EditProfileViewController" bundle:nil]; 
     _mainViewNavController = [[UINavigationController alloc] initWithRootViewController:mainViewController]; 
     KluebookMenuViewController* leftSideMenuViewController = [[KluebookMenuViewController alloc] initWithNibName:@"KluebookMenuViewController" bundle:nil]; 
     self.deskController = [[IIViewDeckController alloc] initWithCenterViewController:self.mainViewNavController leftViewController:leftSideMenuViewController]; 
     self.deskController.leftLedge = 60; 
     self.window.rootViewController = self.deskController; 
    } 
    [self.window makeKeyAndVisible]; 

    return YES; 
} 

Odpowiedz

4
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 

    if (launchOptions != nil) { 
     // Launched from push notification 
     NSDictionary *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]; 
     //Redirect it to your page here 
    } 
} 

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 
{ 
    if (application.applicationState == UIApplicationStateInactive || application.applicationState == UIApplicationStateBackground ) 
    { 
     //opened from a push notification when the app was on background 
     //Redirect it to your page here 
    } 
} 
Powiązane problemy