2010-07-07 3 views
4

Я сделал универсальное приложение для iPhone/iPad (только с iPhone), но в будущей версии я собираюсь переключиться на функции iOS 4-only.Если вы сделаете свой iPhone-приложение универсальным, можете ли вы отменить его в будущей версии?

Для следующего обновления моего приложения я могу обновить только версию iPhone?

ответ

0

Вам нужно будет обновить оба приложения, поскольку они объединены в один отдельный файл. Однако, используя условное кодирование (например, if !(UIUserInterfaceIdiom() == UIUserInterfaceIdiomPad) { - обратите внимание, что я всегда проверяю iPhone/iPod Touch таким образом, как на OS 3.1.3 или ниже, он ничего не вернет), вы можете сделать так, чтобы только версия iPad отличалась.

Что касается реверса, делающего его Universal - зайдите в настройки вашего проекта и цели и измените «Назначение целевого устройства» на iPhone или iPad. Опция обновления вашей цели должна появиться снова.

1

Поскольку iPad работает под управлением iOS3.2, ваш код должен обрабатывать оба.

if ([[UIDevice currentDevice].systemVersion isEqualToString:@"4.0"]) { 
    [self doOs4Stuff]; 
} else { 
    [self doOs3Stuff]; 
} 

Хотя вы должны быть осторожны при использовании 4.0 конкретных интерфейсов API, загрузка классов с трюками как NSClassFromString() для того, чтобы предотвратить его от падения на старых версиях ОС.

Мой пример мог бы использовать более надежную проверку версии, может анализировать строку для проверки, если, например, основная версия - «4» или «3».

Смежные вопросы