Предупреждение: «UIDevice» может не отвечать на «-isMultitaskingSupported» - PullRequest
0 голосов
/ 21 марта 2011


Я работаю с новым FBConnect для iPhone.Но я следовал приведенным шагам ... но при сборке он показывает мне это предупреждение "Предупреждение: UIDevice" может не отвечать на "-isMultitaskingSupported" ", и приложение вылетает.Я использую iphone simulator 4.1, и все же он показывает мне это предупреждение.Если кто-то может помочь мне с этим, это будет здорово.

Заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 21 марта 2011

Версии iOS до 4.0 не имеют этого метода, поэтому вы должны использовать respondsToSelector, чтобы сначала проверить, присутствует ли метод перед его вызовом.

if ([[UIDevice currentDevice] respondsToSelector:@selector(isMultitaskingSupported)] && [[UIDevice currentDevice] isMultitaskingSupported]) {
    // Device supports multi-tasking...

}
else {
    // No such luck.
}

Как таковой, покавы используете симулятор iPhone 4.1, я предполагаю, что вы установили версию iOS на 3.2 (используйте опцию Version в меню Hardware, чтобы изменить это).

0 голосов
/ 05 августа 2011

Вы можете добавить ниже упомянутый метод вашего проекта, чтобы проверить, поддерживает ли устройство многопоточность перед каким-либо действием

- (BOOL) isMultitaskingSupported
{
    BOOL result = NO;
    UIDevice *device = [UIDevice currentDevice];

    if (device != nil)
    { 
        if ([device respondsToSelector:@selector(isMultitaskingSupported)] == YES)
        { 
            #ifdef __IPHONE_4_0 
                #if (__IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_4_0)
                    result = [device isMultitaskingSupported]; 
                #endif
            #endif
        } 
        return(result);
    }
}

Это вернет Bool, т.е. True, если устройство поддерживает многозадачность

...