Как написать приложение для Iphone – 10 важных шагов + 5 полезных советов.

Люди, которые знают, , могут зарабатывать хорошие деньги, не выходя из дома.

С чего начать?

Какие шаги предпринять?

Что нужно знать желающему написать свое приложение?

С какой целью вы хотите сделать приложение для Iphone?

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

Однако, не каждый знает, как создать приложение для Iphone .

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

Цели могут быть разные:

  • Заработок денег на проживание.
  • Заработок денег для большой покупки.
  • Самопрезентация.
  • Развитие навыка.
  • Презентация товаров и осуществляемых услуг.

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

Чтобы заработать минимальный капитал, работе можно уделять 2-3 часа в день.

Для более серьезных накоплений и развития навыков, потребуется больше часов ежедневной работы – от 4 и до 12.

Как написать приложение для Iphone – 5 важных шагов

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

Шаги для создания приложения:

    Скачивание и установка специальной программы Xcode.

    Выберите удобный редактор текста.

    Писать коды можно в программе Xcode, однако гораздо удобнее пользоваться отдельным редактором и копировать текст в строку.

    Выберите и установите векторную графическую платформу.

    Если вы желаете самостоятельно создавать дизайн и изображения, потребуется использование векторных программ.
    Самые популярные и удобные — CorelDraw, Inscape.

    Изучите язык программирования Objective C.

    Без понимания языка программирования, вы не сможете со множеством функций и пользователи смогут лишь открывать – закрывать страницы – вкладыши.

    Скачайте на сайте Apple несколько тестовых, готовых вариантов.

    Оценивая их работу, вы сможете выстроить собственное приложение на высоком уровне.

Может оказаться достаточно не просто разобраться в языке программирования.

В таком случае у вас остается несколько вариантов:

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

Если последний вариант вас не устраивает, двигайтесь вперед.

Просто скачайте Xcode и изучите его.

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

Это неверное мнение.

Чтобы создать действительно интересное приложение, которое принесет много денег, придется потрудиться.

Планирование и стратегия создания приложения для Iphone

Планирование – важный этап в создании программы.

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

Что нужно предпринять при создании концепции приложения:

  1. Нарисуйте примерный вид игры или дневника на листе бумаги, обозначьте основные детали.
  2. Определитесь с целевой аудиторией.
    Будет ли это приложение для детей, подростков или взрослых людей.
  3. Определите основную цель.
    Какую пользу программа принесет тому, кто ее скачает.
  4. Найдите фотографии, подходящие по теме.
  5. Создайте удобный интерфейс.
    Каждая кнопка должна иметь определенную функцию и быть понятной с первого взгляда.

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

Если ошибок и несостыковок не имеется, продолжайте работу над программой.

Шаги для создания приложения:

  1. Откройте новый файл в программе Xcode.
  2. Выберите пункт – Empty Application.
  3. Выберите пустой шаблон.
  4. Зайдите в меню Storyboard и сохраните файл в новом проекте.
  5. Дайте приложению название.
  6. С помощью языка программирования введите все необходимые коды.
  7. Используя контроллер вида создайте экран приложения.
  8. Добавляйте ранее выбранный интерфейс – изображения, пункты.
  9. Создайте как можно больше экранов и заполните ими папку.
    Чем больше функций будет в приложении, тем лучше.
  10. Протестируйте результат работы.

В видеоролике ниже представлено начало данного процесса для создания приложения:

Что нужно знать о тестировании при написании приложения для Iphone?


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

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

Для того, чтобы предоставить возможность протестировать приложение нескольким людям, нужно воспользоваться сертификатом Ad-Hoc.

После получения возможности рассылать приложение на тестирование стремитесь учесть все пожелания и замечания пользователей.

Что нужно знать о тестировании:

  1. Количество отзывов может быть огромным, и каждый из них придется изучить, принять к сведению.
    Если больше 50 процентов отзывов оказались отрицательными, необходимо провести капитальную доработку, однако опускать руки не следует.
    Мало кому из начинающих удавалось создать отличное приложение с первого раза.
  2. Для авторизации тестировщиков запросите у каждого из них номер их устройства.
    Только зная Udid, вы сможете отправить файл для теста.
  3. Каждый сертификат Ad-Hoc потребует создания отдельного архива с разработками.

После прохождения тестового режима, опять следует отложить работу на несколько дней.

Новичку следует понимать, что научиться создавать интересные приложения – дело не одного дня.

Первые три приложения нужно делать с особой доскональностью, уделяя внимание каждой, даже малейшей детали.

Публикация написаного приложения для Iphone


Новое приложение будет храниться в папке Realise.

Все, что нужно сделать – найти его и заархиваровать.

На этом работу по созданию проекта можно считать законченной.

Чтобы оно поступило в продажу, необходимо одобрение модераторов Apple.

После оценки по всем критериям на почту будет выслано письмо об одобрении или отклонении заявки.

Самый главный критерий, по которому будет происходить оценка – адаптированность платформы под ios 8.

В дальнейшем доступ к созданной программе и ее настройкам будет открыт в меню iTunes в разделе connect.

Затем заполните подробную форму, создайте красочное описание, установите цену.

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

Однако на этом работа не заканчивается.

Если вы хотите, чтобы продажи поползли вверх, необходимо обеспечить рекламу.

Используйте для этого : ВКонтакте, Инстаграмм, Одноклассники и Твиттер.

Можно разослать несколько бесплатных копий крупным блогерам и обозревателям взамен на рекламу.

На почту будут регулярно приходить отчеты о продажах.

При необходимости их можно скачать на свой компьютер или телефон.

Также проследить динамику продаж можно в специальном меню iTunes.

Отвечая на вопрос, как написать приложение для Iphone , особенно подчеркнем две главные вещи: владение языком программирования и наличие интересной, оригинальной идеи.

В конце прошлого месяца разработчик Ричард Феликс опубликовал занимательную , в которой постарался максимально доступно и лаконично объяснить, как создать успешное приложение для iOS. В частности, он поделился полезными советами для начинающих разработчиков, собственными наблюдениями в плане проектировки программ и последних тенденций в App Store.

Ричард на личном опыте знает все тонкости разработки, поскольку за последние несколько лет создал ряд популярных приложений для современных мобильных платформ и веба (Are My Sites Up , Stunning , Dispatch и другие).

Итак, в какой-то момент своей жизни вы решили стать разработчиком и попробовать свои силы в создании собственного приложения для iOS. Вы боитесь, что потратите довольно много времени (и денег) на разработку программы, которой никто не будет пользоваться. Вы мечтаете создать приложение, которое будет активно продаваться через год после релиза, но понятия не имеете, как это сделать. Описанные ниже советы помогут добиться поставленных целей.

Найдите оригинальную идею

На каждой презентации Apple анонсирует миллионные продажи iOS-устройств и фантастические рекорды App Store. Руководствуясь этим фактом, многие начинающие разработчики ошибочно предполагают, что создание очередного банального почтового клиента или фоторедактора позволит им заработать миллионы долларов (по их мнению, для этого вовсе необязательно подниматься на верхние строчки чартов магазина приложений Apple).

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

Изучите целевую аудиторию

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

В настоящий момент можно выделить следующие три категории наиболее популярных программ в App Store:


  • Альтернативные приложения для системных программ iOS (улучшенные калькуляторы, календари, почтовые клиенты, фоторедакторы, списки задач и так далее). Они пользуются популярностью, поскольку многие люди сталкиваются с ограничениями стандартных инструментов iPhone/iPad и хотят расширить функциональность своих устройств. Apple создает программы для массового потребителя (они просты в управлении и интуитивно понятны), из-за чего страдают более продвинутые пользователи (если вам нужно больше функций, придется воспользоваться приложением стороннего разработчика - и это нам на руку).

  • Игры, причем самые различные. Особенно те, которые заставляют делиться приложением с друзьями и коллегами, что намного ценнее любого рекламного баннера.

  • Приложения с минимальным количеством функций, которые на первый взгляд кажутся настолько элементарными, что многие разработчики отметают подобные идеи еще на стадии обдумывания проекта. Типичный пример - программа под названием Over , с помощью которой можно добавлять изящные подписи на свои фотографии. Для продвинутого пользователя Over может показаться довольно ограниченным инструментом, однако многих новичков такой «фоторедактор» полностью устраивает, что и подтверждается неплохими продажами. Удивительно, как правильная реализация единственной заявленной функции может привести к вполне успешной программе.


Не изобретайте велосипед и почаще обновляйтесь

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

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

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

Нарисуйте красочную иконку

Красивая иконка - залог успеха любого приложения (так уж и любого? - прим.ред. ). Держа в своих руках iPhone или iPad, пользователь всегда хочет видеть на своем дисплее качественную графику и «сочный» дизайн, который, как принято говорить, радует глаз. Люди будут чаще обращать внимание на программу, если дизайнерский отдел потратит достаточно времени и усилий на создание привлекательной пиктограммы бренда. В конечном счете, это должно помочь вашему приложению добиться вершины чартов App Store.

На специализированных сайтах, вроде

  1. Язык программирования. Какой нужно знать, чтобы писать приложения под iOS.
  2. Нужен ли дизайнер, разработчик интерфейсов или кто-то еще?
  3. Официальная часть: сертификат разработчика.
  4. Необходимое оборудование для комфортной разработки.
  5. Вечный вопрос: AndroidOS или iOS?
  6. Что нужно сделать сегодня?
  7. Создание нового проекта.
  8. Компиляция. Что это такое и зачем это нужно?
  9. Запуск на симуляторе.
  10. Выводим “Hello, world!”.
  11. Какие стандартные view есть в iOS.

Язык программирования. Какой нужно знать, чтобы писать приложения под iOS

Язык программирования (wikipedia.org) - формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под ее управлением.

Пожалуй, вопрос, который я задал в названии этой части, довольно сложный. Я могу ответить на него просто – Objective-C. Если бы я на этом остановился, то я бы оказался неправ. Я бы сказал, что Objective-C – это необходимый минимум. Недавно проходила конференция от Яндекса – YET, на ней один из докладов был посвящен как раз тому, какие языки программирования должен знать разработчик. Ответ был вроде следующего: “Он должен изучать новые и новые языки программирования постоянно, не останавливаясь на каком-то конкретно” . Я с этим полностью согласен. Изучая новые языки программирования, вы изучаете новые подходы, методы программирования. Поэтому, чтобы писать приложения под iOS, нужно знать Objective-C, но также желательно знать и другие языки программирования, чтобы ваш код был хорошим, эффективным, гибким.

Если вы еще не программист, то я вам советую начать с языка Си. Скачайте книгу Кернигана и Ритчи (а лучше купите ) о языке Си, прочтите ее, проделайте все, что там вам предлагается, и уже после этого я посоветовал бы вам переходить к Objective-C. Если же вы уже представляете себе, как писать программы, готовы с легкостью ответить на вопросы – “Что такое типы данных? Что такое переменная? Что такое функция или метод? Что такое ссылка и указатель? Что такое “ include ”?” , вы знаете Си или C++ или же Java или C#, то вы готовы к написанию своего первого приложения под iOS.

Также вам необходимо знать основы ООП и шаблоны проектирования. Наверное, список можно и дальше продолжать, но вряд ли я готов претендовать на качественное объяснение данных понятий. Да, к сожалению, Objective-C не тот язык, с которого можно начать свой путь программиста. Но если вам нравится и хочется творить, то вам пора бежать в магазин, закупаться книгами и начинать свой путь разработчика.

Нужен ли дизайнер, разработчик интерфейсов или кто-то еще?

Очередной, не менее простой вопрос. Если вы программист и умеете писать консольные программы и хотите начать писать приложения под iOS, то на начальном этапе вам такой человек не нужен. Если у вас есть iPhone || iPad || iPod Touch, вы знакомы с iOS, то вам не нужен разработчик интерфейсов. Вообще, у Apple есть такой документ – Human Interface Guidelines . В данном документе описано, где и какой элемент интерфейса надо использовать. Поэтому на начальном этапе можно обойтись и без третьих лиц. Вообще iOS SDK предоставляет достаточно возможностей для разрисовки интерфейса приложения, так что рисовать в PS какие-то там кнопочки или разноцветные тексты, градиентные заливки и прочее вам не придется. Позже мы с вами создадим первый проект, в котором мы познакомимся со всеми этапами создания приложения “Hello, World!”.

Однако, нужно понимать, что когда пойдут серьезные проекты, приложения, которые вы захотите опубликовать в AppStore, то вам уже будет сложнее без дизайнера и разработчика. Сложность может проявиться на разных этапах – либо при разработке приложений, когда вы будете тратить часы в поисках необходимой картинки или сидеть и творить в PS, либо же после того, как опубликуете приложение и начнете получать комментарии от наших любимых юзеров, которые будут жаловаться на ваш убогий дизайн бесплатного приложения. Я столкнулся на обоих этапах с такими проблемами. После получения отстойных комментариев в AppStore я хотел забросить свое приложение, которое между прочим бесплатное, и забыть о неблагодарных пользователях. Однако, полезность самого приложения для меня, а также для многих других пользователей, заставила меня проглотить те гневные комментарии и продолжить разработку приложения. Месяца три назад я начал разрабатывать приложение вместе с дизайнером, который говорит что и куда вставлять, какой цвет выбирать, где и какую картинку рисовать, и это, я хочу сказать, довольно-таки удобно. Поэтому я все же советую в какой-то момент начать использовать услуги дизайнеров, чтобы получать хороший фидбэк от пользователей. И помните – пользователи iOS-устройств хотят видеть хороший дизайн приложения, даже если и его функциональность страдает.

Официальная часть: сертификат разработчика

Наверное, вы уже много слышали о каком-то там сертификате разработчика. Сейчас я постараюсь вас ввести в курс дела – зачем он и нужен ли он вам прямо сейчас. Сертификат разработчика представляет собой некий файл, как и любой другой сертификат. Этот файл выдает вам компания Apple после того, как вы пройдете все этапы регистрации в системе iOS (MacOS ) Developer (Enterprise ) Program .

Что же вам даст наличие данного файла и регистрация в одной из вышеуказанных программ? Ответов на этот вопрос – тьма тьмущая. Поэтому скажу только о самом важном (все нижеописанное дается вам ровно на один год):

  • тестирование ваших приложений на своих девайсах (хотя вроде это хакается и можно и без сертификата)
  • доступ к форуму разработчиков на портале Apple (хотя есть сообщество StackOverflow.com, где гораздо оперативнее можно найти ответ на ваш вопрос)
  • возможность скачать бета-версии (ну и конечно же текущие) iOS и Xcode
  • возможность установить бета-версии iOS на свой девайс
  • возможность опубликовать приложение в AppStore
  • возможность привязать до 100 устройств к своему аккаунту, тем самым разрешив данным девайсам устанавливать бета-версии iOS, тестировать ваши приложения (еще не опубликованные в AppStore) и еще много чего нелегального
  • возможность попонтоваться перед друзьями, что вы официальный разработчик iOS-приложений

Если вы решили, что вам нужен такой сертификат, то будьте готовы расстаться с 100$ (300$ для Enterprise), отправить факс в США, ввести данные вашей банковской карты (внимание! Вашей, именно вашей), ну и дочитать эту главу.

Итак, поехали.

  1. Идем по этой ссылке http://developer.apple.com/programs/ios/
  2. Кликаем на Enroll Now
  3. Читаем внимательно флуд и идем дальше – Continue
  4. Тут у нас 4 пункта:?a. Вы хотите создать новый Apple ID для Apple Developer Program?b. Вы хотите использовать существующий Apple ID?c. Вы уже зарегистрированы, как простой разработчик, а теперь хотите стать официальным разработчиком со всеми вышеописанными плюшками?d. Вы уже являетесь участником iOS или Mac Developer Program и хотите привязать к вашему аккаунту еще одну программу
  5. Друзья, дальше вам самим надо пройти пару шагов по заполнению личных данных. Я уже точно не помню, что там. Возникнут вопросы – задавайте в этом топике, я отвечу по-возможности на всё.
  6. Вам дали ссылку на.pdf файл, который надо заполнить и отправить по факсу в Apple.
  7. Печатаем его, заполняем (очень внимательно и аккуратно).
  8. Отправляем факс в офис Apple в США. (Будьте бдительны, чтобы ваш факс не попал в чужие руки, потому что там вы указываете номер банковской карты и CVV).
  9. Ждем N-ое количество дней (недель), пока Apple обработает ваш запрос.
  10. Получаем письмо, в котором вас поздравляют с тем, что вы зарегистрировались в программе и лишились ста баксов. Ура!

После удачного прохождения квеста у вас будет доступ к http://developer.apple.com/membercenter/ . Пожалуй, обзор той страницы либо требует отдельной статьи, либо требует поиска в гугл/яндекс.

Ну вот, друзья, перейдем к оставшимся на повестке дня вопросам.

Необходимое оборудование для комфортной разработки

Если вы серьезно решили начать разрабатывать приложения под iOS, то крайне рекомендую сразу приобрести компьютер/laptop с MacOs. Наиболее дешевый вариант – Mac Mini, или что-нибудь б/у. Если вы студент и собираетесь таксать оборудование с собой – Macbook Air. Если у вас много денег и вы хотите мощный универсальный ноутбук – для игр, сложных вычислительных задач и программирования – Macbook Pro. Если вы хотите взять настольный компьютер – iMac или Mac Mini. Для разработки – вам подойдет любой компьютер в любой существующей конфигурации. Размер экрана – на ваше усмотрение. Я вот лично сейчас сижу за Macbook 13” и Mac Mini 17”. Меня устраивают оба дисплея. Если что, то можно всегда подключить внешний монитор к ноутбуку.

Не забываем о том, вам рано или поздно понадобится iPhone, iPod или iPad. Не надо доверяться только iOS-симулятору, который распространяется в одном пакете с Xcode. Всегда тестируйте релизные версии на девайсах. Или же – ищите тестеров (ответственных и добросовестных).

Если вы не готовы потратить столько денег на новое оборудование, то можно попробовать поставить хакинтош на ваш компьютер.

Вечный вопрос: Android или iOS?

Возможно, что данный вопрос надо было задать в самом начале, однако он все же расположился в конце данной статьи. Вы уверены, что хотите попробовать себя в область мобильной разработки, но не знаете какую мобильную платформу выбрать? Я не смогу ответить на этот вопрос за вас. Но я знаю одно – если вы хотите разрабатывать приложения под iOS, то вы должны любить продукцию Apple и операционную систему iOS и MacOs. Вы спросите – почему это? Ответ прост – вы должны любить свое дело, вы должны творить. Только тогда вы сможете разработать поистинне классный и полезный продукт. Только в этом случае вы будете изучать с наслаждением Objective-C и iOS. Я считаю, что это очень важно. Если вы обладаете схожими чувствами к продукции Apple, то смело идите в область iOS-разработок. Если вы думаете – я вот знаю Java, но не знаю Objective-C, однако мне больше нравится iOS, чем AndroidOs – то выбирайте iOS. Нет, ну а что вы ожидали, что я начну хвалить Android OS?

Также мне нравится iOS-сфера своим магазином приложений. Там все красиво, правильно и там очень жесткая модерация приложений. Та свалка приложений, которая сейчас в Andoroid OS – это просто ужас, как для пользователей, так и достойных разработчиков.

Что нужно сделать сегодня?

Сегодня вы должны решить: когда вы начнете разрабатывать приложения, хватит ли вам текущего опыта для изучения Objective - C , есть ли у вас необходимое оборудование, а самое главное желание?

Hello, world.

Проверка готовности

Перейдем от теории к практике. Для практического занятия вам понадобится Xcode 4.2 с iOS SDK, желательно сертификат разработчика, знание С, С++, Java или Objective-C (ну может знания и в других языках подойдут) и, наконец, желание начать писать приложения под iOS. Если вам чего-то не хватает, например, сертификата разработчика, то статья будет актуальна для вас все равно. В любом случае, мне кажется, каждому пользователю iOS-девайса должно быть интересно взглянуть на внутреннюю кухню разработки приложений.

Создание нового проекта

Поехали. Нажимаем на иконку Xcode. Откроется окошко подобного содержания:

Выбираем пункт “Create a new Xcode project”. В следующем окне выбираем тип проекта. Нам нужен: “iOS – Application – Single View Application”.

Нажимаем Next. Увидим окно следующего содержания:

Разъясню поля ввода:

  1. Product Name – Название нового проекта – можете ввести любое, но я советую использовать названия, идентичные моим, потому что я периодически буду на них ссылаться.
  2. Company Identifier – Идентификатор вашей компании – можете заполнить его как угодно.
  3. Bundle Identifier – уникальный идентификатор вашего приложения. Это поле можно будет отредактировать позднее.
  4. Class Prefix – префикс, который будет приписываться к названиям всех классов, которые вы создадите в проекте. Я оставил поле пустым (“XYZ” – это просто подсказка).
  5. Device Family – на какие типы устройств можно будет устанавливать проект. Можно выбрать один из трех вариантов: iPad / iPhone / Universal . Их назначение очевидно. Если вы сейчас не можете решить, нужно ли вам создавать универсальное приложение, то можете выбрать любой из других вариантов. Это можно будет исправить на любом этапе жизненного цикла ПО.
  6. Use Storyboard – это связано с созданием модели пользовательского интерфейса. Добавилось вместе с iOS5, так что при использовании этого ужаса ваше приложение можно будет установить только на устройства с осью iOS5 или выше.
  7. Use Automatic Reference Counting – это новая фишка компилятора Apple LLVM 3.0 – автоматически (почти) управляет памятью (следит за утечками, зомби и прочими ужасами). Я бы сказал, что для новичка – идеальный вариант. НО – 1) не все там уж такое автоматическое, 2) доверяете ли вы компилятору больше, чем себе?, 3) Рекомендую управлять памятью вручную.
  8. Include Unit Tests – подключить к проекту юнит-тестирование.

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

Галочку “Create local git repository for this project” не ставим. Лучше потом при необходимости подключим наш проект к репозиторию кода, если вдруг понадобится.

Нажимаем “Create” и видим новое окно, окно нашего рабочего пространства:

И так, у нас создан проект, сгенерировались какие-то файлы, какие-то окошки открыты.

Ознакомимся с файлами в навигационном меню:

  • файлы с суффиксом “.h” – это хэдеры, там, где мы будем давать описание классов
  • файлы с суффиксом “.m” – это implementation файлы, там, где мы будем реализовывать ранее описанные классы
  • файлы с суффиксом “.xib” – это файлы, в которых описывается интерфейс одного окна приложения

Компляция проекта

Компиляция -

  1. трансляция программы на язык, близкий к машинному, и последующая её компоновка.
  2. трансляция программы, составленной на исходном языке, в объектный модуль (осуществляется компилятором) и последующая её компоновка в готовый к использованию программный модуль.
  3. трансляция программы, составленной на исходном языке, и последующая её компоновка в программу на некоем машинонезависимом низкоуровневом интерпретируемом коде (как например в случае языка Java).

Процесс компиляции состоит из следующих фаз:

  1. Лексический анализ. На этой фазе последовательность символов исходного файла преобразуется в последовательность лексем.
  2. Синтаксический (грамматический) анализ. Последовательность лексем преобразуется в древо разбора.
  3. Семантический анализ. Древо разбора обрабатывается с целью установления его семантики (смысла) - например, привязка идентификаторов к их определениям, типам данных, проверка совместимости типов данных, определение результирующих типов данных выражений и т. д. Результат обычно называется «промежуточным представлением/кодом», и может быть дополненным древом разбора, новым древом, абстрактным набором команд или чем-то ещё, удобным для дальнейшей обработки.
  4. Оптимизация. Удаляются избыточные команды и упрощается (где это возможно) код с сохранением его смысла, то есть реализуемого им алгоритма (в том числе предвычисляются (то есть вычисляются на фазе трансляции) выражения, результаты которых практически являются константами). Оптимизация может быть на разных уровнях и этапах - например, над промежуточным кодом или над конечным машинным кодом.
  5. Генерация кода. Из промежуточного представления порождается код на целевом языке (в том числе выполняется компоновка программы).

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

И так, когда вы нажимаете “Build project”, то сначала выполняется лексический анализ вашего кода, если он успешен, то синтаксический анализ, и затем семантический анализ. В Xcode все время работает некий легковесный процесс, который выполняет эту функцию, тем самым подсказывая разработчику “на лету” . Например, если вы не поставили “;” или вдруг приравняли int некую строчку символов, то Xcode подчеркнет строку красной волнистой линией.

Запуск на симуляторе

И так, попробуем запустить наш проект, для которого мы еще не написали ни строчки кода лично.

Для этого обратимся к меню: Схема компиляции (ей присвоен зеленый цвет на моем скриншоте). Схема – это некая конфигурация проекта. Xcode генерирует ее автоматически. Нажимаем на строку, которая стоит справа от названия проекта (имя девайса), если девайс не подключен, то будет написано “iOS Device”. У вас появится выпадающий список следующего содержания:

В этом списке мы выбираем то, куда будет установлен наш проект: это может быть либо ваш девайс, либо симулятор. Если вы выбрали тип приложения универсальный, то можно будет выбрать тип симулятора: iPhone или iPad. Также можно для симуляторов выбрать версию операционной системы (важно протестировать проект на всех версиях iOS, на которые приложение можно установить). Раз заговорили о минимальной версии iOS, то надо и упомянуть, как определить ее минимальную версию? Все просто – если вы используете методы (фичи), которые были добавлены в версии iOS, например, 4.0 , то планка минимальной требуемой операционной системы поднимается до 4.0 . Давайте опустим планку до 4.0 с 5.0 . Для этого обратимся к меню: “Deployment target” (выделено синим цветом на моем рисунке). Из выпадающего списка выбираем 4.0 . Теперь опять вернемся к меню: Схема компиляции . Наш список теперь выглядит следующим образом:

Выберем “iPhone 4.0 Simulator”. И, наконец, нажимаем на стрелочку, под которой написано “Run”. В “Информационном табло” мы увидим процесс компиляции. После того, как все удачно соберется, у нас откроется окно симулятора iPhone:

Теперь быстро пробежимся по возможностям симулятора.

  • Можно симулировать iPhone, iPhone Retina, iPad.
  • Симулировать различные версии iOS.
  • Снимать скриншоты.
  • Крутить экраны (портретный и ландшафтный режимы)
  • Трясануть
  • Симулировать нехватку памяти.
  • Симулировать сервер печати
  • Геолокационное положение
  • Мультитач жесты(максимум 2 пальца)
  • Прочее

Ко всем этому можно получить доступ из меню программы симулятора:

Пару слов о симуляторе. На симулятор можно устанавливать приложения только через Xcode, их можно удалять прямо из симулятора (как и на реальном устройстве), он поддерживает многозадачность. Но и обладает многими ограничениями, например, нельзя устанавливать сертификат в локальное хранилище сертификатов приложения. Но самый главный недостаток то, что это СИМУЛЯТОР , а не ЭМУЛЯТОР . То есть он всего лишь делает вид, что является iOS-девайсом, просто отрисовывая похожий интерфейс (программный уровень). А вот эмулятор как раз выполняет в точности то, что будет выполнять девайс (на физическом уровне). Какой надо сделать вывод? Обязательно тестируйте на реальном девайсе. У меня бывали случаи, когда на девайсе работает, а на симуляторе нет, и наоборот.

Выводим “Hello, world!”.

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

Данная глава написана в память о Деннисе Ритчи, создателе языка программирования C и ключевой разработчик операционной системы UNIX , а также как соавтор книги «Язык программирования C » .

Цель главы – украсить наш пустой серый экран. Отлично, поехали. Возвращаемся в Xcode, выбираем в навигационном меню “ViewController_iPhone.xib”. Далее выбираем “View” в появившемся списке. Справа выбираем “Attributes Inspector”. Вот как окно выглядит у меня плюс дополнительные комментарии:

Теперь добавим метку UILabel. UILabel – это название класса в iOS SDK, который позволяет отобразить нередактируемый текст на экране. Вообще, все классы, позволяющие что-то отобразить, имеют префикс UI : UIView, UITableView, UITextView, UIButton,…. В окне “Доступные объекты для отображения” ищем строку с именем Label. Как-то только нашли, то нажимаем на нее и перетаскиваем на наш текущий вид экрана.

Синие пунктирные линии помогут вам отцентрировать/откалибровать относительное положение метки. И так, выбираем Label в списке отображаемых объектов, если еще не выбрано, и видим в свойствах пункт: Text. Давайте впишем туда “Hello, World!” и нажмем Enter . Вот у нас изменился текст метки и сжался. Давайте это исправим. В категории свойств выберем “линейку” “Size Inspector”. Там есть поля:

  • x и y – координаты верхнего левого угла метки относительно родительского вида, то есть того вида, куда мы поместили метку – это вид View в нашем случае.
  • width и height – соответственно ширина и высота редактируемого объекта.

Вы можете попробовать редактировать эти значения и проследить изменения. Также редактировать положение и размер можно непосредственное двигая метку (текст) и дергая ее каркас за различные “точки” .

Потратьте еще минут 15-25 и поиграйтесь с различными свойствами в различных категориях:

  1. Выравнивание текста
  2. Размер шрифта
  3. Цвет, тень текста
  4. и др.

Впоследствии мы будем к ним возвращаться и я буду пояснять предназначение тех или иных полей.

Какие стандартные view есть в iOS.

В предыдущем пункте я затронул названия некоторых классов, отвечающих за интерфейс. Собственно приставка UI и означает User Interface. Тут я приведу, возможно не полный, список доступных типов view. Во-первых, все описанные ниже классы наследуются от UIView, т.е. обладают теми же свойствами и методами. Во-вторых, вы всегда можете создать собственный кастомный view. Список ниже:

1) UILabel – метка – основное назначение: отображение одной или нескольких нередактируемых строк текста.

2) UIButton – кнопка – основное назначение: обычная кнопка, посылает сигналы объектам, уведомляя о том, что на нее нажали

3) UISegmentedControl – кнопка с сегментами – основное назначение: кнопка с несколькими активными частями, можно определить, на какую нажали

4) UITextField – текстовое поле ввода – основное назначение: поле для ввода текста пользователем

5) UISlider – слайдер – основное назначение: обычный слайдер, помогает более интуитивно изменять какие-либо настройки

6) UISwitch – On/Off переключатель – основное назначение: имеет два состояни – включен или выключен, назначение очевидно

7) UIActivityIndicatorView – индикатор активности – основное назначение: обычно используется, чтобы сообщить пользователю о том, что приложение либо скачивает данные, либо просто выполняет какие-то вычисления

8) UIProgressView – индикатор состояния (прогресса) – основное назначение: отображать состояние завершенности чего-либо

9) UIPageControl – переключение между страницами – основное назначение: отображение количества страниц, отображение текущей страницы

10) UIStepper (>= iOS 5)- +/- пошаговый контроллер – основное назначение: тоже очевидно

11) UITableView – таблица – основное назначение: отображение таблицы, пожалуй, самый популярный элемент

12) UITableViewCell – ячейка таблицы – основное назначение: отображение строки в таблице, обычно кастомизируется

13) UIImageView – изображение – основное назначение: отображение картинки или изображения

14) UITextView – текстовое поле (скроллируемое) – основное назначение: отображение большого объема текста, который можно прокрутить.

15) UIWebView – web – основное назначение: отображение web-страницы

16) UIMapView – карты – основное назначение: отображение карты

17) UIScrollView – скроллируемый вид – основное назначение: отображение нескольких view, которые не помещаются на одном экране

18) UIDatePicker – вид выбора даты – основное назначение: идеальный вариант для ввода даты

19) UIPickerView – вид выбора барабанный – основное назначение: альтернатива таблице при выборе какой-либо опции

20) UIView – просто вид – основное назначение: очевидно

21) UINavigationBar – навигационная панель – основное назначение: панель, в которую выводится заголовок экрана и дополнительные кнопки управления

22) UINavigationItem – элементы UINavigationBar – основное назначение: очевидно

23) UIToolbar – тулбар – основное назначение: отображение панели, на которую помещаются кнопки для управления приложением

24) UIBarButtonItem – элементы тулбара – основное назначение: очевидно

25) UIBarButtonItem (fixed and flexible space) – элементы тулбара особенные – основное назначение: изменяем расстояние между кнопками на тулбаре

26) UITabBar – таббар – основное назначение: помогает переключаться между различными несвязанными с друг другом экранами

27) UITabBarItem – элемент таббара – основное назначение: очевидно

Мобильные приложения - это то, чем сегодня пользуется каждый владелец смартфона. В любой момент можно посмотреть дорогу до нужного места, перевести неизвестное иностранное слово, прочитать новую книгу, послушать любимую музыку. В этом вся суть смартфонов: безграничные возможности прямо здесь и сейчас. Теперь вы сами можете не только использовать популярные приложения, но и создавать собственные. Как это сделать - разберёмся вместе в статье.

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

Поэтому будет обидно, если вы потратите своё время на создание программы, которой не будут пользоваться. Чтобы такого не произошло, начинающему разработчику требуется подробно изучить этот увлекательный процесс. Спрос на приложение зависит не только от покупательской потребности, но и от мастерства его автора.

Есть и другая сторона медали: обыватель просто хочет придумать программу удобнее, чем другие, уже предложенные сегодня. Программу, которой будет пользоваться сам. Например, улучшенный калькулятор, органайзер или словарь.

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

Как создать приложение для iOS и выложить его в App Store

Если идея для приложения у вас уже есть, следует запастись рабочими инструментами. Таковыми станут: компьютер и среда разработки Xcode.

Как создать приложение в Xcode

Программу Xcode можно найти в магазине AppStore. Скачайте её и установите на своё устройство.

Скачайте среду разработки Xcode в AppStore

Чтобы создать своё приложение в Xcode, выполните следующие шаги:

  • Запустите среду разработки на своём компьютере. Выберите: File - New - Project.

    Откройте программу Xcode и выберите создание нового проекта

  • Определите платформу приложения и выберите его тип.

    Выберите тип и платформу программы

  • Выберите информацию о приложении.

    Выберите информацию о программе

  • Определите папку для хранения готового продукта (New Folder).

    Выберите New Folder

  • Уберите отметку с пункта Create Git Repository. Выберите Create. После этого откроется стартовый экран для работы в приложении.

    Выберите пункт Create

  • Откройте Main.storyboard. Нам понадобится пункт Label. В нём напишите текст (например, Hello_word).

    Добавьте текст в своё приложение

  • Выберите картинку для иконки приложения. Её нужно разместить на http://makeappicon.com/ .

    Разместите выбранную иконку на mapappicon

  • После того как приложение mapappicon закончит работу, введите адрес своей электронной почты. На неё придут файлы с выбранными вами иконками в архивированном виде.

    Укажите адрес своей электронной почты, чтобы получить иконки для своего приложения

  • Продолжите работу в XCode и переключитесь на пункт Assets.xassets.

    Следующий этап разработки приложения - раздел Assets.xassets

    Теперь добавьте иконки, полученные на вашу электронную почту.

    Перенесите иконки из почты в приложение

    Активируйте запуск программы с помощью кнопки в виде чёрного треугольника, включите Developer Mode.

    Запустите приложение

    Загрузка симулятора iOS займёт некоторое время

    Проверьте работу приложения, запустив его. Если вы сделали всё правильно, оно запустится и корректно отразит содержимое.

    Проверьте корректность запуска и работы приложения

    Видео: как создать приложение для iOS

    Как протестировать созданное приложение

    Для проверки работоспособности своего приложения следуйте инструкции:

  • Выполните команды: xCode - Preferencies - Accounts.

    Введите Apple ID

  • Подключите устройство к компьютеру.

    Подсоедините устройство к компьютеру, чтобы протестировать приложение

  • В настройках примите настройки безопасности. Далее согласитесь запустить программу разработчика.

    В настройках управления устройством разрешите установку программы

  • После установки программы на рабочем столе появится её иконка.

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

  • Если приложение открывается и работает корректно, вы всё сделали правильно и вашей программой можно начинать пользоваться.

    Тестирование iOS-приложений будет доступно после регистрации в App Store в качестве разработчика и оплаты первоначального взноса. Программа для диагностики новых программ называется TestFlight.

    Как опубликовать созданное приложение

    App Store Review Guidelines содержит перечень правил, которым должно соответствовать новое приложение. Чтобы опубликовать программу в магазин App Store, нужно войти в https://developer.apple.com/register/ под своим AppleID или создать новую учётную запись. Для физических лиц удовольствие познакомить своё приложение с разработчиками Apple стоит 99 $.

    Возможные проблемы при создании приложений

    Среда разработки, применяемая для создания приложений, удобна и достаточно проста для новичка. Основная проблема, с которой вы можете столкнуться, - это недостаток собственных технических навыков. Поэтому, если вы всерьёз решили заняться разработкой приложений в App Store, будьте готовы много практиковаться. Также вам поможет изучение литературы из различных источников по данному направлению.

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

    Какое-то время назад я решил привести пару способов создания приложения для iPhone и iPad, доступных на Windows. Сейчас эта тема всё ещё актуальна. Так что я решил дополнить этот список и включить некоторые другие способы, появившиеся после написания первого сообщения, и те, которые всё ещё находятся в разработке, но уже привлекают, кажутся интересными. Обратите внимание на то, что официальных программ под Windows для разработки приложений на iPhone не существует (и они вряд ли когда-нибудь появятся).

    На данной стадии если вы хотите выложить своё приложение в iPhone AppStore от Apple, то вам придётся компилировать его на официальном ПО для iPhone, которое доступно для Mac OS X, использовать Flash"s iPhone Packager, Airplay SDK, либо отправить кому-нибудь свой код для компилирования. Сейчас же, я знаю, есть одно "хакинтошское" решение, но я не буду о нём рассказывать, не только потому, что оно, возможно, нелегальное, но я видел того, кто попробовал так делать... и это превратилось в долгую мороку - на каждое обновление ОС и SDK уходили часы, когда они могли просто купить Mac Mini меньше чем за $700 и не мучиться.

    Говорят, что есть способы разработки приложений для iPhone на Windows. Повторюсь, что никакого издания официального SDK для iOS не существует - и я более чем уверен, что не существует никаких официальных способов, несмотря на все маркетинговые речи, которые произносят некоторые продавцы. Если вы увидите, как какой-нибудь продавец утверждает, что их продукт - это официальный SDK для разработки приложений для iPhone на Windows, мой вам совет: держитесь от него подальше.

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

    Данные альтернативы для Windows включают игровые движки, html/javascript решения для создания гибридных приложений, а также обычные программы для создания приложений для iPhone/iPad.

    Способы создания приложений для iPhone на Windows

    1. Flash CS5.5 - является очень хорошим решением совместно с Flash iPhone Packager. Упаковщик для iOS позволяет компилировать приложения на платформе Windows. Если вы уже использовали Флэш, то вы являетесь обладателем новейших стандартов Apple. Он хорошо работает, однако не ждите, что игры с высокими техническими требованиями, а также Papervision на нём запустятся. Наличие компьютера с Mac не требуется. Кто-то спрашивал, возможно ли создание iOS флэш-приложений в среде, отличной от официальной среды Adobe... безусловно, вы можете компилировать приложения с помощью компилятора Flex и упаковывать их до тех пор, пока вы следуете рекомендациям ASME.
    2. Airplay SDK - Airplay SDK позволяет вам создавать игры и подписывать свои приложения на Windows. Отличное решение как для 2D, так и для 3D игр и приложений, благодаря бесплатному предложению от независимых разработчиков.
      Оба этих варианта могут компилировать стандартный код iPhone прямо на вашей Windows. Большое количество приложений, доступных в AppStore, было создано с их помощью.
    3. Unity 3D - игровой движок и редактор, использующий Boo и C# и работающий как на Windows, так и на Mac.
    4. Stonetrip S3D - игровой движок и редактор, использующий LUA и работающий на Windows.
      Эти игровые движки позволяют вам создавать приложения на Windows, однако для их тестирования/компилирования вам потребуется Mac.
    5. Appcelerator Titanium - Хорошее решение, имеющее довольно широкую и живую аудиторию. Приложения не требуют высокой производительности, так как они создаются с использованием html/javascript и могут быть скомпилированы как стандартные приложения и отсылаться в AppStore.
    6. Genuitec MobiOne - это создатель интерфейса, который использует фреймворк PhoneGap для обеспечения стандартной функциональности. Он работает только на Windows и базируется на HTML/Javascript.
      Данные способы позволяют создавать приложения с помощью web-технологий (HTML/CSS/Javascript) и в последствии запускать их через Objective-C фреймворк, который отвечает на действия в UIWebView, тем самым предоставляя вам доступ к стандартной функциональности на iPhone. Эти фреймворки бесплатные. Для стандартного тестирования/компиляции потребуется Mac.
    7. Dragonfire SDK - Интересный способ, позволяющий создавать приложения, использующие их собственные SDK на Windows. Далее вы отправляете им свой исходный код, который они компилируют, и вы скачиваете уже готовый файл iOS приложения . Вы загружаете свой код для компилирования на их сервер (при условии, что у вас стоит версия Ultimate). Я его упомянул, так как мне нравится его синтакс, и он довольно популярен, а также является хорошим упаковщиком с удачным симулятором на Windows.

    Существует ещё пара других решений, которые либо ещё тестируются, либо являются платными без каких-либо trial-версий (или даже в некоторых случаях без скриншотов), либо просто ещё не вышли. Многие из них, по-видимому, являются упрощёнными версиями Dragonfly SDK, который позволяет разрабатывать iPhone приложения на Windows путём компилирования вашего исходного кода.. Airplay SDK, возможно, на данный момент является наиболее продвинутым "iOS ПО для Windows", доступным бесплатно.

    Разработка приложений для iPhone на Windows уже реальна

    Если вы действительно решили создавать приложения для iPhone на Windows и даже не хотите покупать Mac Mini, то советую вам использовать html/javascript программы, такие как PhoneGap/Appcelerator либо Airplay SDK, а затем найти кого-нибудь с Mac и попросить их вам помочь. Airplay SDK является единственным бесплатным решением для Windows для создания высококлассных игр на iPhone/iPad. Вы можете использовать Флэш-разработчик, но на данный момент у него имеются ограничения в качестве. Однако скоро выйдет новая версия.

    Обновление: к сожалению, Airplay SDK был переименован в Marmalade SDK и больше не доступен бесплатно независимым разработчикам.



    Эта статья также доступна на следующих языках: Тайский

    • Next

      Огромное Вам СПАСИБО за очень полезную информацию в статье. Очень понятно все изложено. Чувствуется, что проделана большая работа по анализу работы магазина eBay

      • Спасибо вам и другим постоянным читателям моего блога. Без вас у меня не было бы достаточной мотивации, чтобы посвящать много времени ведению этого сайта. У меня мозги так устроены: люблю копнуть вглубь, систематизировать разрозненные данные, пробовать то, что раньше до меня никто не делал, либо не смотрел под таким углом зрения. Жаль, что только нашим соотечественникам из-за кризиса в России отнюдь не до шоппинга на eBay. Покупают на Алиэкспрессе из Китая, так как там в разы дешевле товары (часто в ущерб качеству). Но онлайн-аукционы eBay, Amazon, ETSY легко дадут китайцам фору по ассортименту брендовых вещей, винтажных вещей, ручной работы и разных этнических товаров.

        • Next

          В ваших статьях ценно именно ваше личное отношение и анализ темы. Вы этот блог не бросайте, я сюда часто заглядываю. Нас таких много должно быть. Мне на эл. почту пришло недавно предложение о том, что научат торговать на Амазоне и eBay. И я вспомнила про ваши подробные статьи об этих торг. площ. Перечитала все заново и сделала вывод, что курсы- это лохотрон. Сама на eBay еще ничего не покупала. Я не из России , а из Казахстана (г. Алматы). Но нам тоже лишних трат пока не надо. Желаю вам удачи и берегите себя в азиатских краях.

    • Еще приятно, что попытки eBay по руссификации интерфейса для пользователей из России и стран СНГ, начали приносить плоды. Ведь подавляющая часть граждан стран бывшего СССР не сильна познаниями иностранных языков. Английский язык знают не более 5% населения. Среди молодежи — побольше. Поэтому хотя бы интерфейс на русском языке — это большая помощь для онлайн-шоппинга на этой торговой площадке. Ебей не пошел по пути китайского собрата Алиэкспресс, где совершается машинный (очень корявый и непонятный, местами вызывающий смех) перевод описания товаров. Надеюсь, что на более продвинутом этапе развития искусственного интеллекта станет реальностью качественный машинный перевод с любого языка на любой за считанные доли секунды. Пока имеем вот что (профиль одного из продавцов на ебей с русским интерфейсом, но англоязычным описанием):
      https://uploads.disquscdn.com/images/7a52c9a89108b922159a4fad35de0ab0bee0c8804b9731f56d8a1dc659655d60.png