0

我需要调试应用程序的提示,它只显示黑屏,但不执行 AppDelegate 中应用程序方法的单个指令。

- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOption:(NSDictionary *)launchOptions{
      // Override point for customization after application launch.

  NSLog(@"This log is not displayed!?");

  OMManager *manager=[[EMCore getInstance] manager];
  [manager managedObjectModel];
  if([manager applicationLogDirectory]==nil){
    NSLog(@"Application Log is nil");
    exit(1);
  }

  NSString * pass=[[NSUserDefaults standardUserDefaults] stringForKey:@"PASSWORD"];
  //UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad
  NSString *storyboardName=pass==nil?@"Login_iPhone":@"Main_iPhone";

  UIStoryboard *storyboard=[UIStoryboard storyboardWithName:storyboardName bundle:nil];
  UIViewController *controller=[storyboard instantiateInitialViewController];
  [self setWindow:[[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]];
  [[self window] setRootViewController:controller];
  [[self window] makeKeyAndVisible];

一切正常。我正在加载情节提要,然后是初始视图控制器,直到我尝试添加核心数据。我将它添加到我在代码的几个点中使用的单例中。但是当我运行代码时,它没有显示任何错误(它编译正确),它只是启动并显示黑屏。我删除了我尝试加载核心数据的行,它是相同的,它不是什么都没有。以防我添加了 CoreData 所需的库,我认为是正确的。我在单例中也有一个日志,它也没有被执行,所以问题一定出在其他地方。

我的问题是:在 AppDelegate:application 调用之前会发生什么?我可以在哪里添加日志或其他内容来启动调试并尝试了解这里发生了什么?

PS:显然我打开了日志屏幕:P

4

1 回答 1

0

我会覆盖 applicationDidEnterForeground 并且你在那里调试。

同样在您的 MainWindow.xib 中,您的应用程序委托对象可能未连接到文件的所有者 (UIApplication)。打开 MainWindow.xib 并单击您的 App Delegate 以查看它是否在 Reference Outlet 与 File's Owner 中有连接,如果没有设置。

于 2013-03-01T20:21:27.440 回答