Поддерживайте пользователей iPhone прежней версии

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

Моя первоочередная задача состоит в том, что использование этих 4,0 функций передает под мандат это, конечные пользователи также обновляют свои телефоны/iPod к 4,0. В то время как этот процесс является довольно безболезненным, действительно ли это - разумное, ожидают, что большинство пользователей обновит? Для самого приложения не действительно нужно ничто представленное в новой ОС кроме некоторых традиционных методов анимации, теперь "препятствуются" в пользу их основанных на блоке дубликатов. Это хорошо для меня, я предпочел бы использовать методы блока, но я обеспокоен, что это - стычка для конечных пользователей.

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

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

8
задан Paul Alexander 21 June 2010 в 10:23
поделиться

8 ответов

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

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

  2. Ваше приложение будет лучше с API 4.0, но его можно будет использовать и без них - если вы можете условно использовать API 4.0 либо путем предоставления урезанной функциональности на устройствах до iOS 4.0, либо путем предоставления аналогичной функциональности с использованием других API на устройствах до 4.0, то вы можете собирать с BaseSDK 4.0, установить Target Deployment на минимальную версию, которую вы должны иметь (т.е. 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 для нацеливания на несколько версий прошивки.

22
ответ дан 3 November 2019 в 13:35
поделиться

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

1
ответ дан 3 November 2019 в 13:35
поделиться

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

Согласно статистике за предыдущие годы, обновление с 2.0 на 3.0 заняло более года, но это были в основном пользователи iPod touch, поскольку Apple взимала за них 10 долларов.

Я ожидаю, что скорость перехода на 4.0 будет намного быстрее, но не забывайте, что iPhone/IPod первого поколения не получат обновление до 4.0.

1
ответ дан 3 November 2019 в 13:35
поделиться

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

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

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

0
ответ дан 3 November 2019 в 13:35
поделиться

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

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

4
ответ дан 3 November 2019 в 13:35
поделиться

Я обнаружил, что глядя на количество iPhone / Mac и т. Д. Со старым и новым Установленные операционные системы мало что могут сказать о покупательских привычках их владельцев.

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

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

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

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

1
ответ дан 3 November 2019 в 13:35
поделиться

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

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

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

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

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

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

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

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

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

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

1
ответ дан 3 November 2019 в 13:35
поделиться

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
ответ дан 3 November 2019 в 13:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: