Поддержка старых пользователей iPhone - PullRequest
8 голосов
/ 22 июня 2010

Теперь, когда iPhone SDK 4.0 доступен для загрузки, а iOS 4.0 будет доступна для потребителей в ближайшее время, имеет ли смысл начать использовать новые функции, доступные в ОС 4.0?

Моя главная проблема заключается в том, чтобы при использовании мандатов функций 4.0 конечные пользователи также обновляли свои телефоны / iPod до версии 4.0. Хотя этот процесс довольно безболезненный, разумно ли ожидать, что большинство пользователей будет обновляться? Самому приложению на самом деле ничего не нужно вводить в новую ОС, но некоторые традиционные методы анимации теперь «не одобряются» в пользу их блочных аналогов. Это хорошо для меня, я бы предпочел использовать блочные методы, но я обеспокоен тем, что это мешает конечным пользователям.

Так каков общий опыт по этому поводу? Вы стремитесь к последней и самой лучшей версии или придерживаетесь текущей версии?

p.s. Это предполагает, что GM устанавливает ОС на конечных пользователей, когда она доступна, а не на бета-версию.

Ответы [ 8 ]

22 голосов
/ 26 июня 2010

Это зависит.У вас есть как минимум 3 варианта, и наилучший путь зависит от требований вашего приложения:

  1. Ваше приложение не требует каких-либо API iOS 4.0 - вы должны собрать с BaseSDK 4.0, но установить для Target Deployment минимальную версию, которую вы должны иметь (т. Е. 3.0).
    Преимущества: (1) Ваше приложение должно работать на любом устройстве, которое имеетпо крайней мере, эта версия Target Deployment и (2) она будет поддерживать быстрое переключение приложений на устройствах с iOS 4.0. Недостатки: Вы не можете использовать API-интерфейсы после версии Target Deployment.

  2. Ваше приложение будет лучше с 4.0 API, но оно все равно будетможно использовать без них - если вы можете условно использовать API-интерфейсы 4.0, либо предоставляя ограниченные функциональные возможности на устройствах с операционной системой до iOS 4.0, либо предоставляя аналогичные функциональные возможности при использовании разных API-интерфейсов на устройствах с операционной системой до 4.0, то вы можете создавать с помощью BaseSDK 4.0, установите TargetРазверните до минимальной версии, которую вы должны иметь (то есть: 3.0) и условно используйте вызовы API iOS 4.0. Преимущества: вы можете запускать на всех устройствах с минимальной версией iOS. Недостатки: все эти условные вызовы могут усложняться.

  3. Ваше приложение требует некоторых API iOS 4.0 для работы - Здесь у вас нет выбора.Сборка с BaseSDK 4.0, установка Target Deployment 4.0 и использование этих API 4.0.
    Преимущество: код проще, без условий для версии iOS Недостатки: Ваше приложение не будет работать наiPad еще (они получат 4.0 в «Осень 2010»), ваше приложение никогда не будет работать на iPhone раньше, чем 3G (они не получают 4.0), а некоторые функции iOS 4.0 не будут работать на iPhone 3G.

Во всех случаях ваш базовый SDK будет 4.0, целевое развертывание будет минимальным, что вам потребуется , и если вам нужен более новый API, вы можете использовать его условно, если он у вас есть,

Просто скомпилировав с BaseSDK 4.0, вы получите быстрое переключение приложений на устройствах 4.0, даже если вы не используете какие-либо функции 4.0.Все приложения должны, по крайней мере, делать это, даже если они нацелены на iOS 2.0.Не используйте функции 4.0, если они вам не нужны, и вы можете ориентироваться на более широкий диапазон старых устройств и устройств, которые не были обновлены.

В этом недавнем ответе по SO резюмируетсякак выполнить эту настройку для BaseSDK и Target Deployment и как условно использовать API для нацеливания на несколько версий прошивки.

4 голосов
/ 22 июня 2010

Рекомендованная рекомендуемая конфигурация состоит в том, чтобы установить базовый SDK на наивысший уровень (т. Е. 4.0) и целевой показатель развертывания на соответствующую версию (зависит от того, какая функция фреймворка используется в вашем приложении).

Конечно,приложение всегда может проверить версию ОС и пропустить вызовы к неподдерживаемым платформам.Это обычная техника для создания универсальных приложений для iPad и iPhone.

1 голос
/ 29 июня 2010

Я обнаружил, что просмотр количества iphones / macs и т. Д. С установленными старыми или новыми ОС мало что говорит о привычках их владельцев тратить.

Люди, которые тратят деньги в магазине приложений, с большей вероятностью будут иметь обновленное программное обеспечение ОС.

Если ваше приложение имеет какой-либо уровень сложности, потребуется некотороевремя доставки, и у вас будет довольно маленькое окно, в котором iPad все еще работает 3.x.

Разработка для нескольких уровней ОС - это боль.Помимо необходимости запускать ваше приложение на iPad / iPhone / iPod, теперь вы должны сделать это также с 2 операционными системами.Пропустите проверку одного места, где вы делаете вызов 4.0 только в редко выполняемом коде, и вы получаете сбои.

Для долгосрочной стабильности вашей кодовой базы также полезно собирать версию 4.0 только для нового приложения.Просто лучше.

1 голос
/ 29 июня 2010

Думаю, можно ожидать, что большинство пользователей обновятся, поскольку это бесплатное обновление с версии 3.0.Совершенно очевидно, что Apple заинтересована в том, чтобы пользователи поднялись на 4.0, поэтому она бесплатна.

Как и при обычном обновлении, iTunes будет недовольна обновлением, а если вам потребуется переустановить телефон, обычно будет перенаправлениедо последней версии.

Поскольку вы продаете приложение, вы можете быть достаточно уверены в том, что ваши покупатели имеют доступ к Интернету и, по крайней мере, время от времени подключают свои телефоны и получают бесплатный запрос на обновление.Люди, которые обновляли свои телефоны раньше, очень вероятно, также обновятся до iOS 4.

В настоящее время, на мой взгляд, основной мотивацией остаться на 3.x будет совместимость с iPad.

Вам также следует подумать о том, как должны выглядеть ваши продажи в ближайшие 6 месяцев.Какова стоимость не использования новейших функций?Сможете ли вы сократить время разработки или добавить новейшие функции, перейдя на 4.0?Может ли конкурирующее приложение использовать возможности 4.0, чтобы получить преимущество?Реклама этого приложения только в версии 4.0 может оказать положительное влияние на восприятие приложения.

Там будет определенный процент людей, которые не смогут запустить ваше приложение, потому что выиспользуйте 4.0.Хитрость заключается в том, чтобы выяснить, является ли эта потеря в продажах больше или меньше прибыли, которую вы получаете, оставляя их позади.

Чем больше покупателей вы ожидаете, тем выгоднее позволить всем им запустить ваше приложение,Кроме того, покупателями могут быть люди с компьютерными знаниями?Если это так, то вероятность того, что они останутся на 3.x, может быть еще меньше.

Кроме того, имейте в виду, что телефоны до iPhone 3G не поддерживают iOS4.

Еще одно дополнение:

Apple уже начинает исключать приложения 2.0 из AppStore, см. https://developer.apple.com/iphone/checklist/

1 голос
/ 27 июня 2010

По моему мнению, если вы можете подождать несколько месяцев, чтобы позволить людям перейти на 4.0, то немного подождите, в противном случае просто продолжайте использовать функции 4.0.

Исходя из моей статистики за предыдущие годы, потребовалось более года для обновления 2.0-> 3.0, но в основном это были пользователи iPod touch, так как Apple брала за это 10 долларов.можно ожидать, что уровень принятия 4.0 будет намного быстрее, но имейте в виду, что iPhone / IPod первого поколения не получают обновление 4.0.

1 голос
/ 22 июня 2010

Лично я обычно нацеливаюсь на одну основную версию (то есть цель 3.1 вместо 4.0), которая обычно дает мне окно «Вы обновили свой телефон за последний год? Но в зависимости от вашего приложения вы можете использовать многозадачность или другие функции, которые есть только в 4.0. Тогда, как вы думаете, ваши пользователи сразу захотят. Если вы думаете, что они могут немного подождать, посмотрите, как идут дела; если вы обнаружите, что многие пользователи быстро переходят на 4.0, внесите изменения.

0 голосов
/ 18 августа 2010

progmr уже дал очень хороший ответ;Одна вещь, которую стоит добавить, это некоторые достоверные данные:

http://www.appleinsider.com/articles/10/07/22/chitika_ios_4_already_powering_50_of_iphone_traffic.html

т.е.50% пользователей iphone (которые устанавливают и используют приложения с рекламой в них по состоянию на июль 2010 года) все еще используют версии до 4.0.

0 голосов
/ 22 июня 2010

Да, IMO, абсолютно имеет смысл использовать новые функции в OS 4.0. У пользователя с установленной версией 4.0 будет мало терпимости к приложениям, которые не поддерживают быстрое переключение приложений (и дисплей с более высоким разрешением iPhone 4, как минимум).

Моя главная проблема заключается в том, чтобы при использовании мандатов функций 4.0 конечные пользователи также обновляли свои телефоны / iPod до версии 4.0.

Это не правда. Поддержка новых функций не требует отказа от поддержки старых версий ОС. Просто установите базовый SDK на 4.0 и цель развертывания на 3.x. И убедитесь, что ваш код не вызывает специфичные для 4.0 методы, не проверив, существуют ли они (respondsToSelector:).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...