我正在尝试使用基于窗口的应用程序的默认 Xcode 模板构建我的第一个通用 iOS 应用程序 - 并将设备系列设置为“通用”。(我使用的是 Xcode 4,但我相信以前版本的 Xcode 的模板几乎相同。)
这将创建一个共享的应用程序代理,以及 iPhone 和 iPad 的特定应用程序代理。
由于 iPad 需要在应用程序启动时加载 SplitViewController,而 iPhone 需要加载 RootViewController(表格视图)——我决定尝试在设备特定的应用程序委托中覆盖 didFinishLaunchingWithOptions 方法,对于 iPhone 来说是这样的:
- (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”文件移动到 iPhone 组中,因为我认为它也会在 iPad 上使用。