ウィンドウベースのアプリケーション用のデフォルトの Xcode テンプレートを使用し、デバイス ファミリを「ユニバーサル」に設定して、最初のユニバーサル iOS アプリを構築しようとしています。(私は Xcode 4 を使用していますが、テンプレートは以前のバージョンの Xcode とほぼ同じであると思います。)
これにより、iPhone および iPad 用の特定のアプリ デリゲートとともに、共有アプリ デリゲートが作成されます。
iPad はアプリの起動時に SplitViewController をロードする必要があり、iPhone は RootViewController (テーブル ビュー) をロードする必要があるため、iPhone の場合のように、デバイス固有のアプリ デリゲートで didFinishLaunchingWithOptions メソッドをオーバーライドしてみることにしました。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[super application:application didFinishLaunchingWithOptions:launchOptions];
RootViewController *rootViewController = (RootViewController *)[_navController topViewController];
rootViewController.context = [self managedObjectContext];
[_window addSubview:_navController.view];
return YES;
}
ただし、Xcode はデバイス固有のアプリ デリゲート ファイルを「iPhone」または「iPad」グループに配置するため、次の方法でインポートしようとしても、「RootViewController.h」ファイルが見つからないというエラーが表示されます。
#import "RootViewController.h"
それを解決する方法はありますか、それとも私はこれを完全に間違った方法で行っていますか? 「RootViewController.h」ファイルは iPad でも使用されると思われるため、iPhone グループには移動しません。