1

4.4からXcode4.5にアップグレードした後、v4.4で作成したアプリを実行しました。アプリは正しくコンパイルされますが、デバッグ領域の[出力]セクションに次のメッセージが表示されます。

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

アップグレード後にこのメッセージが表示される理由を教えてもらえますか?私は同様の質問に対するいくつかの答えを調べました。しかし、アップグレード後にこのメッセージが表示される理由を教えてくれるものは何も見つかりませんでした。

ありがとうございました!

編集1:

AddDelegate.mにコードを組み込むことになっていますか?はいの場合、私は本をフォローしているときに同様のことをしました。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    [[NSBundle mainBundle] loadNibNamed:@"TabBarController" owner:self options:nil] 
    [self.window addSubview:rootController.view];

    [self.window makeKeyAndVisible];
    return YES;
}
4

2 に答える 2

4

iOS 3.x以前では、これを行っていました。

[window addSubview:tabBarController.view]

iOS 4以降、標準的な方法はこれを行うことです。

window.rootViewController = tabBarController;

iOS 2.x / 3.xをサポートする必要がない場合は、コードをアップグレードして後者を実行する必要があります。

IIRC、警告はiOS 5以降に存在しました。これは、Xcodeのバージョンではなく、実行しているiOSのバージョンによって異なります。

于 2012-09-22T21:11:14.003 に答える
2

ビューコントローラをプログラムで設定した場合は、アプリデリゲートdidFinishLaunchingWithOptionsメソッドで次のことを試してください。

[self.window setRootViewController: yourRootViewController];

XIBを介してViewControllerをセットアップした場合、正しくセットアップされていれば、ルートViewControllerがデフォルトでセットアップされているはずです。(これはおそらくプロジェクトのMainWindow.xibファイルです)

于 2012-09-22T20:15:45.367 に答える