Как исправить мой [главный экран UIScreen], распознающий iPhone 5 как iPhone 4

У меня есть iPhone 5 и iPhone 4s, на которых я тестирую проект xcode. Я удалил свое приложение на iPhone 5 и заново собрал его, и теперь оно распознает iphone 5 как iphone 4. Я пробовал оба.

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
    NSLog(@"screen size is %f", screenSize.height);
    if (screenSize.height > 480.0f) {
        return TRUE;
    } else {
        return FALSE;
    }
}

и

#define IS_WIDESCREEN ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 ) < DBL_EPSILON )
#define IS_IPHONE ( [ [ [ UIDevice currentDevice ] model ] isEqualToString: @"iPhone" ] )
#define IS_IPOD   ( [ [ [ UIDevice currentDevice ] model ] isEqualToString: @"iPod touch" ] )
#define IS_IPHONE_5 ( IS_IPHONE && IS_WIDESCREEN )

Проблема в том, что каким-то образом [UIScreen mainScreen] bounds.size.height распознает мою высоту экрана как 480.00000, а не как 586. Кто-нибудь сталкивался с этой ошибкой и как ее исправить?


person Josh Wang    schedule 14.10.2013    source источник


Ответы (1)


В вашем коде должно быть изображение [email protected], чтобы оно распознавало правильную высоту экрана, иначе оно всегда будет ЛОЖЬ. Я случайно удалил этот образ между сборками, поэтому он никогда не тестировался должным образом.

person Josh Wang    schedule 14.10.2013