iOS 6 — Отличие iPhone 5 от других устройств?

С анонсом iPhone 5 и новых iPod сегодня я начинаю работу по оптимизации своего приложения, чтобы использовать преимущества нового дополнительного пространства на экране. Я уже дошел до того, что мое приложение больше не "почтовый ящик". Я знаю, что еще рано, но кто-нибудь знает, как я могу отличить новые, более высокие устройства от старых?

В идеале было бы что-то вроде этого:

if (device is iPhone 5 or taller iPod touch) {
    do stuff that is ideal for the taller screen
} else {
   do what I've been doing before for the smaller screen
}

Спасибо! Я надеюсь, что всем остальным также нравится то, что Apple анонсировала сегодня!


person mhbdr    schedule 13.09.2012    source источник
comment
Поскольку iOS6 все еще находится под соглашением о неразглашении, подобные вопросы могут остаться без ответа в публичных настройках. Я предлагаю посетить форумы разработчиков Apple.   -  person Anil Natha    schedule 13.09.2012
comment
Ох, хорошо. Поскольку GM отсутствовал, я не был уверен, что это все еще происходит, но спасибо. С этого момента я буду ходить на форумы разработчиков с подобными вещами.   -  person mhbdr    schedule 13.09.2012
comment
@SlyRaskal - на самом деле это не относится к iOS 6.0, так что это вполне реальный вопрос.   -  person Brad Larson    schedule 13.09.2012
comment
@Brad: спасибо за разъяснение. Вчера я прочитал другую ветку, в которой говорилось о той же теме на SO, и комментатор упомянул, что информация была NDA, поэтому я последовал его примеру и повторил то, что заявил другой разработчик iOS. Моя вина. Я должен был сделать больше исследований в первую очередь.   -  person Anil Natha    schedule 13.09.2012
comment
Дубликат: stackoverflow.com/questions/ 12446990/как обнаружить-iphone-5/   -  person Macmade    schedule 18.09.2012
comment
Более подробный ответ здесь: stackoverflow.com/questions/12696242/   -  person DiscoveryOV    schedule 05.12.2012


Ответы (3)


На мой взгляд, вы можете использовать информацию о границах для UIScreen [UIScreen mainScreen].bounds и проверить высоту или, лучше, соотношение экрана.

person overboming    schedule 13.09.2012
comment
Я попробую! Спасибо за ответы! :) - person mhbdr; 13.09.2012

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
    CGSize result = [[UIScreen mainScreen] bounds].size;
    if(result.height == 480)
    {
        // iPhone Classic
    }
    if(result.height == 568)
    {
        // iPhone 5
    }
}

см. эту ссылку для различных типов проверки

person Hashim MH    schedule 10.10.2012

Для тех, у кого экран все равно возвращает 480 вместо 568, нужно добавить новые картинки запуска с новым размером в сводной вкладке настроек приложения.

person codingrhythm    schedule 20.09.2012