Портирование приложения iPhone на iPad - одно приложение или разветвление? - PullRequest
4 голосов
/ 16 февраля 2010

У меня есть приложение для iPhone, которое я собираюсь изменить для iPad.

Моя проблема в том, что приложение предназначено для работы с iPhone OS 2.0, и если я сделаю это для iPad, мне придется разработать его для OS 3.2.

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

Очевидно, что я могу сделать гибридное приложение, которое будет работать на iPad / iPhone OS 3.2 и iPhone / iPhone OS 2.0, но это будет адское обслуживание, со многими изменениями вызовов API и тому подобным.

Какой подход лучше: гибридная версия или отдельная ветвь кода для iPad?

Ответы [ 4 ]

10 голосов
/ 17 февраля 2010

1) Форк код, но ...

2) Создание универсального приложения.

По сути, сделайте новую версию, которая будет поддерживать только OS3.2, начиная с этого момента. Эта единственная версия может содержать как обновленное приложение для iPhone, так и новое приложение для iPad, что позволяет вам легко создавать их в будущем и повторно использовать контроллеры представления и модели между ними. Вот как Apple хотела бы, чтобы вы это сделали. Проверьте документы по универсальным приложениям.

8 голосов
/ 16 февраля 2010

Форк свой код. Вероятно, вам все равно понадобится новый пользовательский интерфейс или новый графический код для размещения на большом экране, поэтому вы действительно ищете «новое» приложение, которое использует множество существующих классов.

3 голосов
/ 17 февраля 2010

Установите базовый SDK для устройства iPhone 3.2.Установите для iPhone значение для развертывания 2.0.Используйте AvailabilityibilityMacros при вызове API iPhone 3.2.Затем создайте другой код пользовательского интерфейса для iPad и создайте универсальное приложение.Это лучшее из всех миров.За исключением того, что вы не получите новую покупку, если у человека есть iPhone и вы уже приобрели ваше приложение.Если вы больше заинтересованы в получении большего дохода из-за версии для iPad (возможно, версия для iPad обладает гораздо большей функциональностью?), То вам следует раскошелиться на код, чтобы можно было установить другую цену для приложения для iPad.Если я правильно понимаю, вы всегда можете оставить ответвление в одном и том же проекте xcode, чтобы вы могли по-прежнему использовать совместно используемые модели и контроллеры, а при сборке просто выберите, для какой цели создать.Таким образом, вы, как разработчик, получаете лучшее из обоих миров.

Согласно статистике admob: Статистика iPhone OS если вашими клиентами являются только iPhone, то люди не имеют 3.0 <3%.Это довольно небольшое число для меня, их легко можно обновить бесплатно, поэтому я бы не стал задерживать ваше приложение только для них.Возможно, ваше приложение может убедить еще несколько человек в обновлении.Теперь, если ваше приложение поддерживает iPod Touch, тогда ваш целевой рынок по-прежнему составляет 32% 2.X </p>

0 голосов
/ 16 февраля 2010

Есть ли в вашем приложении компонент подписки (который приносит вам деньги после первоначальной покупки) или договор на обслуживание?

Если ответ «нет», я бы настоятельно рекомендовал просто перевести все на 3.2 - вы действительно хотите вернуться к переносу изменений? Пользователям, которые все еще используют ОС 2.0 (возможно, небольшое меньшинство, даже включая джейлбрейкеры, поскольку версия 3.1 уже давно взломана) не нужно обновлять до новой версии. В приложениях для iPhone ожидается, что новые версии будут бесплатными, а не новые версии будут бесплатными и всегда будут работать на старой операционной системе.

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

...