2014-02-17 62 views
2

我正在開發一個應用程序,其中包含3個視圖控制器和啓用推送通知中的應用程序的故事板。當我收到推送通知,並且當我點擊通知提醒時,它應該從我的故事板打開第二個視圖控制器讓我顯示我的代碼。在接收蘋果推送消息時從故事板打開視圖控制器

-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 
{ 
     [[NSNotificationCenter defaultCenter] postNotificationName:@"pushNotification" object:nil userInfo:userInfo]; 

} 

然後故事板的負載實際上是我的第一視圖控制器也具有在它到第二視圖控制器的按鈕,這是我要加載的控制器。這裏是我的第一個視圖控制器中的代碼。

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(pushNotificationReceived) name:@"pushNotification" object:nil]; 
} 
-(void)pushNotificationReceived{ 
    NSString * storyboardName = @"DealerMainStoryboard"; 
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:storyboardName bundle: nil]; 
    UIViewController * vc = [storyboard instantiateViewControllerWithIdentifier:@"DealerBuyRequests"]; 
    [self presentViewController:vc animated:YES completion:nil]; 
} 

因此,當我收到此代碼的通知應用程序崩潰時,當我點擊通知。

+0

你的問題在哪裏? – iCode

+0

應用程序崩潰時,它得到pushnotification此代碼,我點擊通知。 – user2966615

+0

什麼是您的錯誤日誌? – iCode

回答

0

你需要得到一些錯誤日誌,但檢查這一點。

UIViewController * vc = 
     [storyboard instantiateViewControllerWithIdentifier:@"DealerBuyRequests"]; 

我不認爲你想創建一個新的UIViewController,除非你真的叫你的控制器「的UIViewController」。

那麼再次檢查你想提出模態

DealerBuyRequestsViewController * vc = 
     [storyboard instantiateViewControllerWithIdentifier:@"DealerBuyRequests"]; 

確保此視圖控制器的StoryBoard Id匹配DealerBuyRequests或者你會得到錯誤查看的類名。

相關問題