Xcode 4.3.3 でユニバーサル ウィンドウ アプリを作成しました。後で、XIB を使用しない View Controller(UniversalRootViewController) クラスを 1 つ追加しました。次に、2 つの XIB ファイル (RootViewController_iPhone、RootViewController_iPad) を作成し、これらの iPhone XIB ファイル RootViewController_iPhone を UniversalRootViewController クラスに接続します。 RootViewController_iPad についても同じことを行いました。
App Delegate に、次のコード行を追加しました。
UniversalRootViewController *controller = nil;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
controller = [[UniversalRootViewController alloc] initWithNibName:@"RootViewController_iPad" bundle:[NSBundle mainBundle]];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:controller];
[self.window addSubview:navigationController.view];
}
else
{
controller = [[UniversalRootViewController alloc] initWithNibName:@"RootViewController_iPhone" bundle:[NSBundle mainBundle]];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:controller];
[self.window addSubview:controller];
}
また、これらの 2 つのキーと値のペアを UniversalApp-Info.plist に追加しました メインの nib ファイルのベース名: RootViewController_iPhone メインの nib ファイルのベース名 (iPad) : RootViewController_iPad
このアプリケーションを実行すると、次のエラー メッセージを表示してアプリが作成されます。
キャッチされない例外 'NSUnknownKeyException' が原因でアプリを終了しています。理由: '[ setValue:forUndefinedKey:]: このクラスは、キー ビューのキー値コーディングに準拠していません。
XIBファイルをView Controllerに正しく接続しました。アプリがクラッシュする理由がわかりません。解決策を教えてください。