Выход rootViewController для UIWindow недоступен в выпусках до iOS 4.0 - PullRequest
4 голосов
/ 28 октября 2010

Я получаю следующую ошибку в сборках до iOS 4.0:

The 'rootViewController' outlet of UIWindow is not available on releases prior to iOS 4.0. Remove the connection and instead programmatically add the view controller's view to the window after the application finishes launching.

Как и где я могу сделать это программно?

1 Ответ

4 голосов
/ 09 ноября 2010

Давайте представим, что у вас есть класс CoolViewController.

Внутри вашего CoolAppDelegate.h вам нужно что-то вроде этого:

@class CoolViewController;

@interface CoolAppDelegate.h : NSObject <UIApplicationDelegate> {
    UIWindow *window;
    CoolViewController *viewController;
}

Тогда вашему CoolAppDelegate.m понадобится

application:applicationdidFinishLaunchingWithOptions:

метод с таким кодом:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

    // Override point for customization after app launch.

    // Add your cool controller's view to the window.
    [window addSubview:viewController.view];
    [window makeKeyAndVisible];

    return YES;
}

Чтобы избежать ошибки, вам, вероятно, также потребуется удалить ссылку на IBOutlet, который указывает на rootViewController в вашем файле .xib через Interface Builder.

...