2015-11-04 93 views
1

我正面臨着這個奇怪的問題。我有一段簡單的代碼應該可以正常工作,但在第一次啓動應用程序時它不起作用。當我第二次運行應用程序時,它工作得很好。當第一次啓動應用程序時,presentViewController不起作用

和由以下代碼用於打開應用程序,並顯示一個的viewController當我挖掘今天視圖插件的方式:

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url 
{ 
    OverviewDetailVC *overViewDetail = (OverviewDetailVC *)initViewController; 
    overViewDetail.productDetail = [self.managedObjectContext executeFetchRequest:FetchRequest error:nil]; 
    overViewDetail.productName = [overViewDetail.productDetail[0] valueForKey:@"generic"];   
    [self.window.rootViewController presentViewController:overViewDetail animated:YES completion:NULL]; 
} 
+0

從上面你爲什麼需要首次使用handleOpenURL來啓動應用程序? – user3182143

+0

當我點擊今日視圖部件時,我正在使用它來打開應用程序。 – user3687

+0

我在問你爲什麼把你的代碼放在handleOpenURL方法中? – user3182143

回答

0

嘗試這種情況:

  • (BOOL)應用: (UIApplication的*)應用handleOpenURL:(NSURL *)的url

{

dispatch_after(dispatch_time(DISPATCH_TIME_NOW,(int64_t)(1 * NSEC_PER_SEC)),dispatch_get_main_queue(),^ {[NSNotificationCenter defaultCenter] postNotificationName:@「secondshowPushNotification」object:nil]; });

}

的firstView控制器:

  • (無效)viewDidLoad中

{

[[NSNotificationCenter defaultCenter]的addObserver:自選擇器:@selector(showCompanyFromPushNotification :)名:@「secondshowPushNotification」object:nil];

}

- (無效)showCompanyFromPushNotification:(NSNotification *)通知

{

[self.rootController presentViewController:secondViewController動畫:YES完成:無];

}

//它打開secondViewController。

相關問題