Блокировка запуска приложения на iOS 3.2 без блокировки на 3.1 - PullRequest
0 голосов
/ 23 сентября 2011

Я хотел бы выпустить приложение, которое работает на старых iPhone - то есть, которое работает на 3.1 - но блокирует его запуск на iOS 3.2 iPad.

Игра отлично работает на iPhone с iOS 3.1.3 и новее, а также на iPad с iOS 4 и новее.Однако на устройствах iPad с iOS 3.2 возникают некоторые проблемы с масштабированием.

Возможно ли заблокировать приложение как совместимое с iOS 3.2 в iTunes Store и заблокировать его при установке на iOS 3.2, но все же заставить его работатьна iOS 3.1.3?


Некоторые уточнения:

  • Мы определенно не хотим блокировать пользователей iPad.
  • Игра полностью работает на iPhone иiPod Touch с iOS 3.1.3.
  • Игра полностью работает на iPad с iOS 4.
  • Единственное комбо с проблемами - iPad с iOS 3.2.
  • Решения времени выполнения нечто мы ищем.

Я подозреваю, что это из-за того, что масштабируемый код Apple, предназначенный для дисплеев сетчатки, случайно сделал его в iOS 3.2.Хотя я, конечно, мог бы потратить кучу времени на выяснение проблем, мне это не нравится.iOS 3.2 имеет небольшую базу пользователей, и у пользователей iPad нет причин избегать обновления.В то же время мы стараемся не отключать пользователей iPhone 2G, iPhone 3G, iPod Touch 1G и iPod Touch 2G, которые не могут или не хотят обновляться из-за замедлений.

Кроме того, сообщаемпользователи, которые только что купили приложение, которое не будет работать на их устройстве, приведут к плохому пользовательскому опыту.Было бы идеально заблокировать установку определенной версии ОС через App Store, не блокируя также и все более ранние версии.

1 Ответ

0 голосов
/ 23 сентября 2011

Технически вы можете это сделать. Это не рекомендуется делать!
Например. в приложении DidFinishLaunching вы можете сделать:

if ( [[[UIDevice currentDevice] model] rangeOfString:@"iPad"] != NSNotFound && [[[UIDevice currentDevice] systemVersion] floatValue]==3.2) 
    exit(0);

Там достаточно высоки шансы, что Apple одобрит это приложение. Не потому, что они будут довольны вашим решением, а потому, что они не будут тестировать ваше приложение на iPad с iOS 3.2.

Вы не можете разрешить запуск приложения на 3.1 и выше, кроме iPad 3.2. Единственный допустимый для меня способ предотвращения установки вашего приложения на 3.2 - установить 3.2.1 в качестве цели развертывания вашего приложения. Если вы не можете гарантировать, что ваше приложение будет работать на всех устройствах, поднимите цель развертывания выше.

...