Подводные камни разработки для iPhone - PullRequest
7 голосов
/ 01 августа 2009

Существуют ли какие-либо рекомендации относительно ловушек, которых следует избегать при разработке приложений для iPhone?

Ответы [ 5 ]

18 голосов
/ 01 августа 2009

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

Тем не менее:

  1. Не пытайтесь изобретать велосипед. API для iPhone очень полный - вам просто нужно посмотреть на объект, который вам нужен. Вещи не всегда реализуются так, как вы ожидаете. Прочитайте руководства, внимательно. Посмотрите на учебники и проанализируйте, как они работают. (Попробуйте изменить строку здесь или там в руководстве, чтобы увидеть, в чем состоит это изменение.) Самая большая ошибка, которую я допустил за 1 год разработки iPhone, - это не то, что нужно, чтобы найти способ iPhone из делать что-то.

  2. Не игнорируйте управление памятью; освоить это рано и часто. Используйте инструменты Распределение объектов и Утечки в Инструментах, чтобы часто проверять утечки памяти. Я бы порекомендовал проверить после завершения каждой функции или просмотра; чаще, чем если вы продолжаете находить ошибки. В конце концов вы можете понять это так хорошо, что можете прекратить это делать.

  3. Не просто используйте настройки сборки по умолчанию. Поиграйте с ними, чтобы понять, что они делают. Выясните, сертификации и распространения. БЫСТРО ВСТУПИТЕСЬ В ПРОГРАММУ РАЗРАБОТЧИКА - может пройти некоторое время, чтобы протолкнуть этот конвейер. [И когда вы получите это уведомление, которое вам нужно продлить, немедленно включите его - возникли проблемы с этим процессом. ]

  4. Не забудьте внимательно прочитать Руководство по интерфейсу пользователя (HIG). Если они говорят не делать что-то - НЕ ДЕЛАЙТЕ ЭТОГО. Apple будет отклонять приложения, которые неправильно используют свою иконографию.

  5. Не скупитесь на маркетинг. Да, App Store ставит ваше приложение перед миллионами людей ... Теоретически. Но шансы получить фронт-пейджинг невелики. В App Store есть много отличных приложений, которые не так много продаются, потому что о них никто не знает.

  6. Не почивайте на лаврах. Если появится новая технология, выясните, облегчит ли она вашу работу; если это произойдет, найдите время, чтобы узнать это. Личный пример: я сейчас пытаюсь переключиться с управления данными на основе SQLite на Core Data, потому что я спешил в то время, когда начал свой самый последний проект; теперь я хотел бы, чтобы я замедлился и подумал об этом.

  7. Не вдавайтесь в свои мысли о дизайне (например) «Как реализовать мою концепцию с помощью табличного представления?» Это правда, что табличные представления естественны для многих информационных и служебных приложений, но не ограничены. Вместо этого подумайте о том, что пользователи захотят сделать, как вы можете сделать их проще для них - соедините вещи, которые будут использоваться вместе, и т. Д. Если вы никогда не изучали концепцию вариантов использования, прочтите их.

  8. Не стесняйтесь строить составные представления. Многие из вопросов, которые я видел здесь о переполнении стека, связаны с размещением панели инструментов в верхней части таблицы или наличием изображения на фоне текстового поля. Я понимаю желание делать вещи простым способом, и, как я утверждаю в пункте 1 выше, если есть , это простой способ, используйте его. Но во многих случаях решение состоит в том, чтобы просто наложить несколько видов с соответствующим размещением и прозрачностью.

5 голосов
/ 01 августа 2009

Подумайте, что может быть одобрено Apple с самого начала.

Приложение отклонено - один из нескольких полезных сайтов, помогающих понять в основном недокументированные стандарты Apple. ( Еще один .) (Предыдущий вопрос о причинах отказа в магазине приложений .)

Несколько быстрых примеров:

  • Использование UIWebView может повысить рейтинг вашего приложения до 17+.
  • Кодирование с недокументированным / закрытым API = отклонено
  • Номер версии <1.0 может = отклонено </li>
  • Недостаточно отзывов об успешном / неудачном завершении сети = отклонено
  • Слишком большое использование сети = отклонено
  • Очевидно ограниченная бесплатная версия против полной версии = отклонено
  • Слово «iPhone» в названии приложения = отклонено

Приведенные выше ссылки содержат много других примеров и более подробную информацию об этих примерах.

3 голосов
/ 01 августа 2009

Не пренебрегайте руководствами по программированию. Хотя документация довольно обширна, руководства по программированию содержат множество полезных советов и «инсайдерской» информации, которую просто невозможно почерпнуть из чтения определений методов. Я провожу столько же времени за чтением руководств по технологии (скажем, Core Data), сколько и на самом деле ее реализации.

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

2 голосов
/ 02 августа 2009

Замечательные примеры из @Amagrammer выше.

Я хотел бы добавить, что первое, что нужно начать, - это разработка iPhone для Photoshop. Это все еще лучший совет, который я могу дать любому, кто только начинает. Теперь я использую OmniGraffle, потому что у него потрясающие шаблоны трафаретов.

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

Этот совет поможет вам сэкономить 10, а то и 100 часов, если вы надеетесь, что ваше приложение будет правильным с первого раза, и вы сможете разобраться в проблемах. Выбрасывание кода - отстой, и я сделал это не потому, что код был плохим, а потому, что он ухудшил удобство использования или решение. Я думаю, что лучшие из нас в конечном итоге выбрасывают код, а создание прототипа вашего проекта определенно поможет в RTFM для чего-то, что вам не нужно было создавать в первую очередь.

0 голосов
/ 23 октября 2010

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

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