1

アプリをビルドすると、問題やエラーなしでコンパイルされます。しかし、実行すると、コンソールに次のメッセージが表示されます。

Application windows are expected to have a root view controller at the end of application launch.

これが私のAppdelegateの方法であり、これを引き起こしている可能性があります(SOで見た他の投稿に基づく)

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

  self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
  // Override point for customization after application launch.
  self.window.backgroundColor = [UIColor whiteColor];


  PhotosViewController *viewController = [[PhotosViewController alloc] initWithNibName:nil bundle:nil];

  self.navigationController = [[UINavigationController alloc] initWithRootViewController:viewController];
  [self.window addSubview:self.navigationController.view];

  [self.window makeKeyAndVisible];

   return YES;

これは私が心配する必要があるものですか?このメッセージが表示されても、アプリはシミュレーターで実行されます。

それを取り除くために私が何をすべきかについての提案はありますか?これをデバッグするにはどうすればよいですか?

ところで、私は同様のエラーメッセージでSOに関する他の質問を見ましたが、どのシナリオも私のものには当てはまらないので、この質問を投稿しました。重複ではありません:)

ありがとう

4

1 に答える 1

3

Instead of:

[self.window addSubview:self.navigationController.view];

Use:

self.window.rootViewController = self.navigationController;

You can find more details in the UIWindow documentation

于 2012-09-10T03:15:25.663 に答える