6

スプラッシュ画面を表示した後、アプリケーションが開かないときに、コンソールに「アプリケーションはアプリケーションの起動の最後にルート ビュー コントローラを持つことが期待されています」というステートメントが表示されます。私のアプリケーション:didFinishLaunchWithOptions メソッドは:

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 は次のとおりです。

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

    }
}

アプリケーションは以前は正常に動作していました。今日から急に機能しなくなりました。アプリケーションで ARC と Storyboard を使用しています。提案してください。

4

5 に答える 5

15

プロジェクトに「MainStoryboard」を追加し、ビルド設定のメイン ストーリーボード オプションを「MainStoryboard」として設定します。

次に、AppDelegate メソッドを更新します。

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

できます。

于 2013-02-24T09:41:48.323 に答える
1

デバッガーでそれをステップスルーし、次のような行を確認します

[storyboard instantiateViewControllerWithIdentifier:@"FirstInfo"]

あなたが期待しているものを返しています。

問題のストーリーボードビューコントローラが実際に識別子「FirstInfo」を持ち、「Firstinfo」や「FirstInfo」ではないことを確認します。

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

うまくいけば、それらの1つが原因です。

于 2012-09-19T20:25:00.067 に答える
1

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

編集中...どこで作成しますself.windowか?

于 2012-09-19T12:39:52.540 に答える
0

ビルド設定で Main Storyboard オプションを「MainStoryboard ここに画像の説明を入力」に設定しました

そして、その作業!!!

于 2012-09-19T12:48:42.750 に答える
0

ストーリーボードで、rootViewController を選択し、左側のユーティリティ メニューで「is initial View Controller」にチェックを入れます。

于 2013-02-24T09:50:16.460 に答える