8

私はこの問題を抱えていますが、このフォーラムやインターネットで見つけることができる情報はどれも私を助けることができないようです。

このエラーが発生する可能性のある場所は2つあるようです。

  1. main.m-私の関数は次のようになります:
  int main(int argc, char *argv[])
    {
        @autoreleasepool {
            return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
        }
    }

の最後の引数は、myのクラスの値をUIApplicationMain返します。したがって、これは正常に機能しています。NSStringAppDelegate

2.AppDelegate.m-ルートビューコントローラを設定する「古い」方法があります。これは次のようになります。

  [self.window addSubview:rootViewController];

ただし、私のアプリでは、すでに次のように更新されています。

self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];

したがって、インターネット上の現在の情報はどれも機能しません。同僚が自分のコンピューターで問題なく動作させることができるので、少しわかりにくいです。アプリのソースコードを送ってくれたのは彼だったので、すべての設定とコードはまったく同じである必要があります。

これをシミュレーターで起動しようとしています。iOS 5に対して構築されていますが、iOS6.0シミュレーターで実行しようとしています。

私は最新のXCode(4.5.1)を持っています。

これが起こる理由はありますか?そして、どうすればそれを修正できますか?

どうもありがとう

トム

4

4 に答える 4

17

UITableViewをシングルビューアプリに追加しようとして、まったく同じことが発生しました。代わりに、デフォルトのマスター/詳細アプリケーションプロジェクト(ファイル->新規->ターゲット-> ...)を作成し、AppDelegateによるdidFinishLaunchingWithOptionsの実装を確認してください。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.

MDMasterViewController *masterViewController = [[MDMasterViewController alloc] initWithNibName:@"MDMasterViewController" bundle:nil];
self.navigationController = [[UINavigationController alloc] initWithRootViewController:masterViewController];
self.window.rootViewController = self.navigationController;
[self.window makeKeyAndVisible];
return YES;
}

ビューコントローラをウィンドウのrootViewControllerとして直接設定するのではなく、initWithRootViewController用にビューコントローラで初期化されたナビゲーションコントローラを作成してから、そのナビゲーションコントローラをウィンドウのrootViewControllerとして設定する必要があります。(プロパティ内のそのnavコントローラーをリスして、破壊されないようにする必要があることに注意してください)。

于 2012-10-11T00:49:37.683 に答える
6

これを変更するだけです:

[window addSubview:tabBarController.view];

これに:

[window setRootViewController:tabBarController];

または、addSubViewにあったものは何でも:

于 2013-10-09T04:43:53.120 に答える
3

プロジェクトメニューでデフォルトのViewControllerを定義してみてください。

プロジェクトを選択=>概要=>メインインターフェース=>メインビューコントローラーを入力

私が新しいプロジェクトを開始するたびに、私はあなたと同じエラーに直面しました。解決するたびにこれを行うことで、これがあなたの助けになることを願っています。

于 2012-10-11T00:57:13.550 に答える
0

少なくともコードに例外ブレークポイントを追加して、何が問題なのかを理解できるかどうかを確認するには、次の手順を実行します。方法がわからない場合は、このチュートリアルを使用してください。また、コンパイル時に警告はありますか?コンパイルできる場合でも、警告によってアプリがクラッシュする理由が明らかになることがあります。

于 2012-10-08T15:20:00.173 に答える