Xcode通用应用程序模板,并覆盖didFinishLaunchingWithOptions

时间:2011-02-22 16:34:16

标签: iphone xcode universal-binary

我正在尝试使用基于窗口的应用程序的默认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上使用。

1 个答案:

答案 0 :(得分:0)

您应该遵循以下模型:http://www.kotancode.com/2011/04/05/ios-universal-apps/并且您应该导入“RootViewController_iPhone.h”