Я пытаюсь создать версию своего приложения специально для iPhone 6 и 6 Plus, в то время как у меня нет никакого оборудования, мне нужно протестировать на симуляторе! но, похоже, у симулятора есть странная ошибка! сначала и для большинства я получаю разрешения экрана и шкалы, по этому коду:
UIScreen *mainScreen = [UIScreen mainScreen];
NSLog(@"Screen bounds: %@, Screen resolution: %@, scale: %f, nativeScale: %f",
NSStringFromCGRect(mainScreen.bounds), mainScreen.coordinateSpace, mainScreen.scale, mainScreen.nativeScale);
так вот как обнаруживают iPhone 6 и 6Plus (портретный режим):
#define iPhone6 ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone && [UIScreen mainScreen].bounds.size.height == 667)
#define iPhone6Plus ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone && [UIScreen mainScreen].bounds.size.height == 736)
проблема есть! когда я обедаю свое приложение на симуляторе iPhone6 /Plus, компилятор дает мне информацию о iPhone 4 "дисплея:
2014-09-28 12:32:08.153 WOD[2924:42290]
Screen bounds: {{0, 0}, {320, 568}}, Screen resolution: <UIScreen: 0x7fa15be0f9b0; bounds = {{0, 0}, {320, 568}}; mode = <UIScreenMode: 0x7fa15bd0d4a0;
size = 640.000000 x 1136.000000>>, scale: 2.000000, nativeScale: 2.000000
Но он отлично работает в новом проекте! (Я не могу создать новый проект и начать заново!).
I cleaned code
, delete build folder
, change project name
и reset Simulator contents setting
, но все же дает мне информацию о 4 "дисплее!.
Я проверил этот Q/A, но для ответа требуется реальное устройство!