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];

それはすべてうまく機能していました。Core Dataを追加しようとするまで、ストーリーボードをロードしてから、最初のViewControllerを完全にロードしていました。コードのいくつかのポイントで使用するシングルトンで追加しました。しかし、コードを実行してもエラーは表示されず(正しくコンパイルされます)、起動して黒い画面が表示されます。コアデータを読み込もうとする行を削除しましたが、同じですが、何もありません。CoreDataに必要なライブラリを追加した場合に備えて、私は正しく考えています。シングルトン内にもログがあり、どちらも実行されていないため、問題は別の場所にあるはずです。

私の質問は、AppDelegate:application呼び出しの前に何が起こるかということです。ログなどを追加してデバッグを開始し、ここで何が起こっているのかを理解することができますか?

PS:明らかに私はログ画面を開いています:P

4

1 に答える 1

0

私は applicationDidEnterForeground をオーバーライドし、そこでデバッグしますか。

また、MainWindow.xib で、アプリケーション デリゲート オブジェクトがファイルの所有者 (UIApplication) に接続されていない可能性があります。MainWindow.xib を開き、App Delegate をクリックして、参照アウトレットにファイルの所有者への接続があるかどうかを確認し、設定されていない場合はそれを確認します。

于 2013-03-01T20:21:27.440 に答える