iOS 4.3 SDK развернут на iPhone 3.1.3 ошибка - PullRequest
1 голос
/ 07 июля 2011

Я использую XCode 4 для разработки приложения, которое можно запустить на iPhone 3.1.3.На iOS4 Simulator работает нормально, но на моем устройстве выдается ошибка.

Это код AppDelegate, в котором я получаю ошибку.

@implementation VoConstructorAppDelegate


@synthesize window=_window;

@synthesize viewController=_viewController;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.

    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];
    return YES;
}

В self.window.rootViewController = self.viewController; появляется следующая ошибка:

2011-07-07 15:10:20.997 VoConstructor[159:207] *** -[UIWindow setRootViewController:]: unrecognized selector sent to instance 0x11a9e0
2011-07-07 15:10:21.053 VoConstructor[159:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[UIWindow setRootViewController:]: unrecognized selector sent to instance 0x11a9e0'

Любой совет?

1 Ответ

5 голосов
/ 07 июля 2011

Поскольку свойство rootViewController появилось в UIWindow только в iOS4.0, его нельзя использовать для более старых платформ.Для iOS 3.x вам нужно будет вручную добавить вид контроллера в UIWindow, и ваш код будет выглядеть примерно так:

if ([self.window respondsToSelector:@selector(setRootViewController:)])
   self.window.rootViewController = self.viewController;
else
   [self.window addSubview:self.viewController.view];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...