2012-09-19 5 views
6

アプリケーションが起動していない間にコンソールの「アプリケーションの起動時にルートビューコントローラが必要です」というステートメントが表示されますスプラッシュ画面を表示します。私のアプリケーション:didFinishLaunchWithOptions方法は次のとおりです。アプリケーションが以前に罰金働いていたアプリケーションの起動時にルートビューコントローラがコンソールに存在しないことが予想される

int main(int argc, char *argv[]) 
{ 
    @autoreleasepool { 
     return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 

    } 
} 

:として

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:[NSBundle mainBundle]]; 
UIViewController *initViewController = [storyboard instantiateViewControllerWithIdentifier:@"FirstInfo"]; 

[self.window setRootViewController:initViewController]; 
[self.window makeKeyAndVisible]; 
[self.window makeKeyWindow]; 
return YES; 

main.mです。今日から機能しないのはただの速さです。私はアプリケーションでARCとStoryboardを使用しています。提案してください。

答えて

1

ストーリーボードから返されるコントローラがnilでないことを確認してください。

編集中... self.windowはどこに作成されますか?

+0

はい、私は作っています。 – Arvind

+0

また、私の答え – borrrden

0

私は「MainStoryboard enter image description here」としてビルド設定に

をメインストーリーボードオプションを設定し、その作業している!!!

+2

の次の部分を参照してくださいこれは上のコードを無視し、自動的に最初のビューを設定するため、将来の訪問者の参照のためだけに動作します。 – borrrden

1

私は、デバッガでそのステップスルーと

[storyboard instantiateViewControllerWithIdentifier:@"FirstInfo"] 

のように必ずラインになるだろうが、あなたが期待しているものを戻ってきています。

私は、問題のストーリーボードビューコントローラーが実際に "FirstInfo"または "FirstInfo"というものではなく、 "FirstInfo"という識別子を持っていることを確認します。

また、ストーリーボードがファイルインスペクタのアプリケーションターゲットのメンバーであることを確認します。

そのうちの1つが原因です。

15

は、プロジェクトに "MainStoryboard" を追加し、 "MainStoryboard" として

をビルド設定でメインストーリーボードオプションを設定し、AppDelegateのメソッドを更新:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
return YES; 
} 

それは動作します。

0

ストーリーボードでは、rootViewControllerを選択し、左側のユーティリティーメニューで「初期表示コントローラー」をチェックします。

関連する問題