ТЕЛЕ 2

Как создать мобильное приложение для iphone самостоятельно. Создаем мобильное приложение для iOS самостоятельно с помощью конструкторов

В этой статье мы пошагово разберем, как сделать элементарную игру для iOS, ничего об этом не зная!

Вы пройдете путь от создания проекта до просмотра готовой игры на устройстве за 12 шагов и освоите основные принципы создания игр в xCode. Ну а потом решите, продолжать ли учиться разработке под iOS .

На все действия уйдет 10-15 минут.

Нам понадобятся:

  • Mac с установленным Xcode;
  • Устройство с iOS;
  • Изображение цветка;
  • Изображение травы.

Шаг 1. Создаем новый проект в Xcode

Запускаем xCode, выбираем пункт меню File -> New -> Project .

Шаг 2. Выбираем тип проекта

На следующем экране выбираем тип проекта – Game.

Шаг 3. Указываем основную информацию о проекте

Указываем название проекта и сверяем остальные настройки с картинкой.

Шаг 4. Выбираем место для папки с проектом

В открывшемся окне Finder указываем папку, в которой будем хранить проект. При необходимости можно воспользоваться кнопкой Create Folder в левом нижнем углу окна.

Шаг 5. Настраиваем игру

Теперь перед нами окно детальных настроек приложения. Снимаем галочку с Portrait в разделе Deployment Info , чтобы игра работала только в горизонтальном режиме.

Шаг 6. Смотрим на стандартный пример игры

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

Шаг 7. Меняем космические корабли на цветы

В правом меню выбираем пункт assets.wcassets , потом делаем активным объект Spaceship и на место картинки с космическими кораблем перетаскиваем картинку с цветком.

Шаг 8. Смотрим, что изменилось

Снова запускаем эмулятор. Теперь вместо космических кораблей появляются цветы.

Шаг 9. Уменьшаем размер цветка

Уменьшим цветы в пять раз. В правом меню выбираем файл GameScene.swift и находим в нем строчки кода:

Sprite.xScale = 0.5 sprite.yScale = 0.5

Заменяем их на:

Sprite.xScale = 0.1 sprite.yScale = 0.1

Шаг 10. Добавляем траву в коллекцию картинок

Идем в assets.wcassets , находим плюсик (см. картинку), нажимаем на него и выбираем пункт меню New Image Set . Называем новый набор картинок Background (название должно быть точным) и перетаскиваем в него картинку с травой из Finder.

Шаг 11. Добавляем траву в код

Удаляем код, который делает фоновую надпись HelloWorld:

Class GameScene: SKScene { override func didMoveToView(view: SKView) { /* Setup your scene here */ let myLabel = SKLabelNode(fontNamed:"Chalkduster") myLabel.text = "Hello, World!" myLabel.fontSize = 45 myLabel.position = CGPoint(x:CGRectGetMidX(self.frame), y:CGRectGetMidY(self.frame)) self.addChild(myLabel) }

На его место вставляем:

Class GameScene: SKScene { var background = SKSpriteNode(imageNamed: "Background") override func didMoveToView(view: SKView) { /* Setup your scene here */ background.position = CGPoint(x: frame.size.width / 2, y: frame.size.height / 2) addChild(background) }

Шаг 12. Тестируем игру на устройстве

Идем в Xcode -> Preferencies -> Accounts и добавляем свой Apple ID:
1. Подключаем iOS-устройство к компьютеру.
2. Выбираем устройство и жмем на кнопку запуска.
3. Если появляется сообщение о проблемах с безопасностью, идем на iOS-устройстве в Настройки -> Основные -> Управление устройством и разрешаем запуск приложений от нужного разработчика.
4. Находим на Spring Board иконку приложения и запускаем его.Теперь устройство можно отсоединить от компьютера и продолжать пользоваться приложением.

Если возникли какие-то проблемы, то обновите iOS и xCode.

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

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

Где учиться разработке под iOS?


Лучший вариант - поcтупить на факультет iOS-разработки в онлайн-университет GeekUniversity , созданный GeekBrains и Mail.ru. Целый год несколько вечеров в неделю вы будете изучать программирование под iOS. Занятия проходят в формате вебинаров и учиться можно в любой стране мира.

В GeekUniversity практикуют проектно-ориентированное обучение . За год вы создадите 4 собственных приложения для iOS:

  • Погодное приложение;
  • Мобильную игру;
  • Приложение для интернет-магазина;
  • Командный проект.

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

Какие знания вы получите на факультете iOS-разработки?

За год супер-интенсивного обучения ученики усваивают огромный объем знаний:

  • Навыки программирования на Swift
  • Навыки программирования на Objective C
  • Навыки разработки мобильных игр
  • Знание алгоритмов и структур данных
  • Понимание компьютерных сетей и операционных систем
  • Работа в команде
  • Методологии разработки: Agile, Scrum
  • Умение работать с GIT
  • Знание принципов ООП
  • Навыки успешного прохождения собеседований и общения с заказчиками
  • Навыки проектирования архитектуры, использования шаблонов проектирования singletone, adapter, factory, dependency injection
  • Навыки использования IOS SDK, карт, геолокации, push-уведомлений, анимаций и 3d-touch
  • Навыки разработки мобильных приложений под iOS
  • Навыки написания чистого кода

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

Скачайте и установите Xcode. Xcode - это среда разработки, в которой создаются все приложения для iPhone. Xcode можно бесплатно получить от Apple, но данная программа требует установленной OS X версии 10.8 или более поздней. Не существует официального способа запустить Xcode на Windows или Linux. Это означает, что если вы хотите разрабатывать приложение на iPhone, но у вас нет Мака, то сначала вам придется купить его.

  • Чтобы разрабатывать приложения под iOS 8, вам понадобится Xcode 6.0.1 и iOS 8 SDK. И то, и другое можно получить от Apple. iOS 8 SDK содержит достаточно большое число новых API, которые позволят вам создавать все виды новых приложений, включая интеграцию с iCloud и Touch ID.
  • Чтобы разрабатывать приложения под iOS 10, вам понадобится iOS 10 SDK, доступный на сайте Apple. В языке программирования Swift и в SDK в этой версии Xcode произошли значительные изменения. Хорошая новость заключается в том, что после этой версии в Swift будет еще больше кодовых изменений.

Установите хороший текстовый редактор. Хотя вы можете все делать в Xcode, вы скоро поймете, что работать с кодом больших размеров гораздо проще, если у вас есть отдельный текстовый редактор, специализирующийся на программировании. Два самых популярных варианта - это TextMate и JEdit.

Установите векторную графическую программу. Если вы планируете создавать изображения и дизайны для своего приложения, вам понадобится программа создания векторной графики. Векторная графика может масштабироваться без потери качества, что важно для любого хорошо выглядящего приложения. Популярные векторные программы это CorelDraw, Adobe Illustrator, Xara Designer и Inkscape. Хорошая свободная программа редактирования графики это DrawBerry. Она не так мощна, как профессиональные программы, но хороша для начинающих, либо для тех, кто не хочет платить за что-то, что он будет использовать всего один раз.

Изучите Objective-C. Objective-C это язык программирования, который используется для создания функциональности в приложениях iPhone. Он обрабатывает данные и работает с объектами. Objective-C произошел из семейства языков C, и он является объектно-ориентированным языком. Если вы уже понимаете C или Java, вам будет достаточно просто изучить Objective-C.

  • Теперь можно использовать язык Swift, правопреемник Objective-C. У Swift более простой синтаксис и он более современен.
  • Хотя можно построить базовое приложение без знания Objective-C, но вы не сможете выполнить какие-нибудь расширенные функции без необходимости программирования. Без Objective-C все, что вы можете, - это двигаться взад и вперед по экранам.
  • В Интернете существует множество учебников, кроме того множество информации можно найти в различных книгах по Objective-C. Если вы хотите серьезно заняться разработкой приложений под iPhone, вам будут полезны некоторые из этих источников.
  • Некоторые из самых популярных онлайн-сообществ по Objective-C включают форумы разработчиков Apple, группа Google iPhoneSDK и StackOverflow.
  • Рассмотрите вариант аутсорсинговой разработки. Если у вас нет никакого желания изучать Objective-C, либо у вас нет художественной жилки, существует большое число фрилансеров и команд разработчиков, которые могут выполнить различные части проекта за вас. Аутсорсинг вашей разработки - сложный процесс, но он спасет вас от многих проблем, если вы не программист. Удостоверьтесь, что все, кто будет работать, заключат соглашение о неразглашении, и что вы договорились об оплате перед началом работы.

    • Upwork (объединение бывших oDesk и Elance) - самая популярная биржа фрилансеров в Интернете, где можно найти сотни разработчиков и художников любого уровня.
  • Создайте аккаунт разработчика. Чтобы распространять ваше приложение в App Store или дать его другим для тестирования, вам необходимо зарегистрироваться, чтобы получить аккаунт разработчика Apple. Аккаунт стоит $99 в год, и для его создания потребуется ввести информацию о налогах и банковскую информацию.

    • Вы можете создать ваш аккаунт на сайте iOS Dev Center.
  • Скачайте несколько тестовых приложений. Как только вы зарегистрировали аккаунт разработчика, у вас появляется доступ к ресурсам разработки Apple. Эти ресурсы включают множество проектов для примера, которые могут дать вам колоссальный объем информации о том, как разрабатываются приложения. Найдите пример, как-то связанный с тем типом приложения, который вы хотите создать, и попрактикуйтесь с ним в Xcode.

    Часть 2

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

      • Попробуйте при разработке приложения придерживаться документа по дизайну настолько, насколько это возможно. Это поможет сфокусироваться на необходимых вам возможностях.
      • Попробуйте нарисовать хотя бы один эскиз для каждого экрана в вашем приложении.
    2. Определите целевую аудиторию. Аудитория вашего приложения очень зависит от того, как выглядит приложение, и от его функциональности. Например, у приложения со списком дел будет совсем не такая целевая аудитория, чем у игры-стрелялки. Это вам поможет.

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

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

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

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

    Часть 3

    Создание приложения
    1. Создайте новый проект в Xcode. Откройте Xcode и начните новый проект из меню Файл. Выберите "Application" (приложение) под заголовком "iOS" в левой части окна. В разделе шаблонов выберите "Empty Application" (пустое приложение).

      • Существует множество готовых шаблонов, и все созданы для различных задач. Начните с пустого шаблона, пока вы не разберетесь в процессе разработки. Вы сможете попробовать один из более сложных шаблонов, как только вы разберетесь, как тут все работает.
      • Вам необходимо указать имя продукта, идентификатор вашей компании и префикс класса. Если у вас еще нет идентификатора компании от Apple, введите com.example . В качестве префикса класса введите XYZ .
      • Выберите "iPhone" из меню устройств.
    2. Создайте Storyboard. Storyboard это визуальное представление всех экранов в вашем приложении. Он отображает содержимое каждого экрана, а также переходы между ними. Инструмент Storyboard поможет вам в разработке вашего приложения.

      • Выберите File → New → File.
      • Под заголовком iOS выберите "User Interface" (интерфейс пользователя).
      • Выберите Storyboard и нажмите Далее.
      • Выберите iPhone из меню устройств, и затем назовите файл "Main". Удостоверьтесь, что вы сохранили его там же, где и ваш проект.
    3. Назначьте Storyboard вашему проекту. Как только вы создали Storyboard, вам нужно назначить его как основной интерфейс вашего приложения. Тогда данный Storyboard будет загружен при запуске приложения. Если вы не назначите storyboard, при старте приложения ничего не произойдет.

      • Нажмите на имя вашего проекта в дереве навигации слева.
      • Найдите заголовок Targets (цели) в основном окне. Выберите ваш проект из списка Targets.
      • Найдите раздел Deployment Info (информация о развертывании) во вкладке General (общее).
      • Введите Main.storyboard в текстовое поле "Main Interface" (основной интерфейс).
    4. Добавьте свой первый экран, используя контроллер вида. Контроллеры вида определяют, как содержимое будет просматриваться пользователем. Существует множество заранее созданных контроллеров вида, включая стандартные виды и таблицы. Вы будете добавлять контроллеры вида к вашей storyboard, что скажет вашему приложению, как нужно отображать содержимое пользователю.

      • Выберите ваш файл "Main.storyboard" в меню навигации по проекту. Вы увидите, что в окне Interface Builder (построитель интерфейса) появится пустой холст.
      • Найдите Object Library (библиотеку объектов). Она расположена внизу правой части, и ее можно выбрать, нажав на кнопку с маленьким кубом. При этом загрузится список объектов, которые можно добавить на ваш холст.
      • Нажмите и потяните объект "View Controller" (контроллер вида) на ваш холст. На вашем холсте появится первый экран.
      • Ваша первая "Сцена" закончена. При запуске приложения контроллер вида загрузит ваш первый экран.
    5. Добавьте объекты интерфейса на ваш первый экран. Как только вы определили контроллер вида, вы можете начать размещать на экране необходимые вам объекты интерфейса, такие как метки, текстовые поля ввода и кнопки. Все объекты интерфейса можно найти в списке Objects Library (библиотеки объектов), которую можно найти внутри объекта View Controller (контроллер вида).

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

      • Выберите объект, который хотите изменить, и нажмите на кнопку "Attributes Inspector" (инспектор атрибутов) вверху правой части. Кнопка немного похожа на щит.
      • Измените объект так, как вам нравится. Вы можете изменить стиль шрифта, размер шрифта, цвет текста, выравнивание, фоновые изображения, замещающий текст, стиль границы, и многое другое.
      • Существующие опции будут изменяться, в зависимости от того, какой объект вы изменяете.
    7. Добавьте еще экранов. По мере того, как ваш проект разрастается, скорее всего вы захотите добавить еще экранов, чтобы отобразить все необходимое для приложения содержимое. Например, если вы делаете приложение со списком дел, вам понадобится по меньшей мере два экрана: один для ввода дела, а второй для просмотра списка.

      • Дополнительные экраны можно добавить, переместив и отпустив контроллер вида на пустую часть холста. Если вы не можете найти пустого участка, чтобы отпустить мышь, нажмите на кнопку "zoom out" (уменьшить масштаб), пока пустые области не появятся. Удостоверьтесь, что вы опустили контроллер вида на холст, а не на существующий экран.
      • Вы можете изменить начальный экран, выбрав контроллер вида, который необходимо сделать ведущим в окне проекта. Нажмите кнопку Attribute Inspector (инспектор атрибутов) и отметьте галочку "Is Initial View Controller" (ведущий контроллер вида). Например, если вы делаете список дел, вы захотите, чтобы сам список был первым, что увидит пользователь при запуске приложения.
    8. Добавьте панель навигации. Теперь у вас есть два экрана в приложении, и пришло время сделать так, чтобы пользователь мог перемещаться между ними взад и вперед. Вы можете этого достичь с использованием Navigation Controller (контроллер навигации), который является специализированной версией View Controller (контроллер вида). Данный контроллер добавляет панель навигации в верхнюю часть вашего приложения, и позволяет пользователю перемещаться взад и вперед между экранами.

      • Контроллер навигации должен быть добавлен к вашему начальному виду, чтобы он мог контролировать все последующие экраны.
      • Выберите начальный вид в окне проекта.
      • Выберите Editor → Embed In → Navigation Controller.
      • Вы должны увидеть, что вверху экрана, на который вы добавили контроллер, появилась серая панель навигации.
    9. Добавьте функциональности данной панели навигации. Теперь, когда вы вставили панель навигации, вы можете начать добавлять к ней инструменты навигации. Это позволит пользователю перемещаться между экранами взад и вперед.

      • Добавьте к панели навигации заголовок. Нажмите на Navigation Item под контроллером вида, к которому вы его назначили. Откройте Attribute Inspector (инспектор атрибутов) и введите заголовок текущего экрана в поле Title.
      • Добавьте кнопку навигации. Откройте Objects library (библиотеку объектов), если она еще не открыта, и найдите там Bar Button. Выберите ее, и перенесите на панель навигации. Обычно кнопки, которые передвигают вас "вперед" по приложению, размещаются справа, а кнопки, перемещающие вас "назад" - слева.
      • Дайте кнопкам свойства. Кнопки можно настроить с помощью специальных свойств, которые позволяют им легко адаптироваться к различным условиям. Например, если вы создаете список дел, вам может понадобиться кнопка "Добавить", чтобы создать новую запись. Выберите кнопку и откройте Attribute Inspector (инспектор атрибутов). Найдите меню Identifier (идентификатор) и выберите "Добавить". Кнопка изменится на логотип "+".
    10. Свяжите вашу новую кнопку с существующим экраном. Чтобы ваша кнопка функционировала, вам нужно соединить ее с другим экраном. В нашем примере со списком дел, кнопка будет располагаться в общем списке, и ее нужно связать с экраном ввода дела. Чтобы связать кнопку, зажмите кнопку Control , и перетащите кнопку на второй экран.

      • Когда вы отпускаете кнопку мыши, появится меню Action Segue со списком опций. Выберите "Push", чтобы использовать перемещение между экранами. Вы также можете выбрать "Modal", что откроет экран как полностью самостоятельный, без последовательности экранов.
      • Если вы используете Push, на ваш второй экран автоматически будет добавлена панель навигации, а также кнопка "назад". Если вы выберете modal, вам нужно будет вручную вставить вторую панель навигации, а также добавить кнопки "Отмена" и "Готово" (в приложении со списком дел; в вашем приложении будут другие кнопки, в зависимости от нужд вашего приложения).
      • Кнопки "Отмена" и "Готово" можно создать тем же способом, которым вы создали кнопку "Добавить". Просто выберите "Отмена" и "Готово" из меню Identifier в Attribute Inspector.
    11. Используйте возможности обработки данных. До этого момента можно было создать базовый интерфейс без необходимости писать код. Если вы хотите добавить более глубокую функциональность, такую как хранение данных, обработку ввода пользователя, вам нужно погрузиться в написание кода. Написание кода находится за рамками данной статьи, но в Интернете существует большое число учебников по Objective-C.

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

    Часть 4

    Тестирование приложения
    1. Запустите iOS Simulator. XCode поставляется со встроенным эмулятором iOS, который позволяет вам протестировать свое приложение на некотором наборе эмулируемых устройств с iOS. Чтобы запустить эмулятор, выберите из меню в верхней части окна XCode пункт "Simulator и Debug", а затем выберите устройство, на котором вы хотите протестировать.

      Соберите приложение. Нажмите на кнопку Build, которая выглядит как обычная кнопка Play, чтобы скомпилировать и запустить приложение. Сборка приложения может занять несколько минут. На панели вы можете наблюдать за прогрессом. Как только процесс сборки будет завершен, откроется iOS Simulator, и вы можете начинать тестировать свое приложение.

      Проверьте приложение на своем собственном iPhone. Перед распространением своего приложения для тестирования вы можете протестировать его на своем собственном устройстве (если у вас оно есть). Сначала подключите устройство к компьютеру по USB. Если откроется iTunes, закройте его. Выберите из выпадающего списка "Device and Debug", а затем нажмите на кнопку Build. После нескольких секунд приложение должно запуститься на iPhone. Проверьте всю функциональность, прежде чем закрыть приложение.

      Займитесь отладкой. Если приложение "упало", нужно определить, что случилось и почему. Причин может быть бесконечно много. Открывайте отладочную консоль и читайте сообщения об ошибках. Чаще всего они будут не особо понятными. Если вы не поняли ошибку, попытайтесь поискать сообщения об ошибках в Google. Существует вероятность, что вы сможете наткнуться на сообщение, оставленное на форуме разработчиков Apple, где какой-либо разработчик уже ответил на вопрос.

      • Отладка приложения - это долгий и нудный процесс. Если вы не сдадитесь и упорно будете продолжать, со временем у вас будет получаться все лучше. Вы начнете распознавать ошибки, быстро их находить и даже иногда их ожидать. Частая ошибка состоит в освобождении памяти объекта более одного раза. Другая частая ошибка - если вы забудете выделить память и инициализировать объект перед тем, как попытаетесь что-то к нему добавить или присвоить. С каждым приложением у вас будет становиться все меньше и меньше ошибок.
    2. Проверьте использование памяти. В iPhone памяти немного. Каждый раз, выделив память для объекта, ее нужно будет освобождать по завершению работы с ним. Существуют такие инструменты, как iPhone SDK, который среди прочего может применяться для просмотра и анализа использования памяти.

      • С выбранным Device and Debug, выберите Run → Run with Performance Tool → Leaks. Это запустит Инструменты и, вместе с этим, приложение на вашем устройстве. Теперь начните пользоваться приложением так, как пользуетесь обычно. Временами оно будет немного подтормаживать, так как программа записывает и анализирует использование памяти. Все источники утечек будут отображаться в нижней части экрана.
      • Двойное нажатие на каком-либо объекте откроет вам соответствующий код, а нажатие по маленькой стрелочке в столбце Адрес откроет историю проблемы с памятью. Иногда место, где обнаружена утечка, - это совсем не то место, откуда она пошла.
      • Если вы в тупике, попробуйте действовать методом исключения. Закомментируйте что-нибудь, осторожно пропустив некоторую область кода, а затем запустите его. Иногда вы сможете сузить область поиска, и затем, возможно, найти нужную строку. Когда вы знаете, где находится ошибка, вы можете ее исправить или переписать. Помните, использование Google может дать вам прямые ссылки на форумы Apple или на документацию, описывающую ваш случай.
    3. Заполните форму с описанием приложения, ключевыми словами, сайтом поддержки, категорией, адресом электронной почты для контактов, авторскими правами, и т.д.
    4. Заполните формы Права и Цены.
    5. Ваши картинки в iTunes должны быть готовы. Вам понадобится большая иконка 512х512, а также несколько скриншотов вашего приложения. Скриншоты можно получить из симулятора iPhone, используя ⌘ Command + ⇧ Shift + 4 , и перетаскиванием. Проверьте, что они размером 320х480 для iPhone. Скриншоты это очень важная часть маркетинга вашего приложения, так что удостоверьтесь, что они отображают самые важные части.
  • Загрузите свое приложение. Нажмите на "Ready to Upload Binary", и вы перейдете на экран, в котором вам предложат загрузить Application Uploader tool. Скачайте его и нажмите Готово.

    • Установите Application Uploader tool и запустите его. В первый раз он попросит вас ввести ваши авторизационные данные iTunes.
    • Application Uploader tool проверит ваш аккаунт iTunes Connect, и найдет все приложения, для которых можно загрузить бинарный файл. Выберите необходимое, выберите zip-файл, который вы создали ранее, и загрузите его. Загрузчик проверит некоторые свои вещи, и укажет на ошибки, если найдет что-то неверное. Это может быть номер версии, отсутствующие иконки, и т.д. Если все замечательно, загрузите zip и все будет окончено.
  • Ждите проверки. Вам нечего делать, кроме как ожидать окончания процесса проверки. Apple уведомит вас через несколько дней или недель по электронной почте, если состояние вашего приложения сменится на "In review" (проверяется). Когда приложение переходит в данную стадию, дальнейшее происходит очень быстро. Если приложение не пройдет через начальный набор тестов, вы в тот же день получите электронное письмо с отказом, рассказывающим, почему приложение отвергли. Также, в письме будут рекомендации Apple по его починке. Если ваше приложение прошло проверку, Apple пошлет вам электронное письмо, сообщающее о том, что ваше приложение готово к продаже. Теперь ваше приложение появится в магазине приложений iTunes.

    Попробуйте протестировать приложение на стольких i-девайсах, сколько сможете найти. Еще лучше, если на них установлены различные версии iOS.

  • Если вы любите бумажные книги, зайдите на Amazon.com, чтобы найти книги о разработке на iPhone.
  • Предупреждения

    • iPhone SDK постоянно меняется, и устройства тоже. Если произошло обновление SDK во время работы над проектом, прочитайте, что появилось нового перед тем, как использовать новый SDK. На данном этапе этого делать не обязательно, если только Apple не сказала, что все новые загрузки должны быть скомпилированы новой версией SDK. Если вы обновитесь, некоторые используемые вами методы могут стать устаревшими. Хотя, скорее всего, это приведет максимум к предупреждению во время компиляции, лучше перестраховаться.
    • Когда вы достигнете успеха и ваше приложение появится в App Store, не злитесь на тех, кто оставит вашему приложению плохой отзыв. Некоторые оставляют полезные отзывы, а некоторым просто нравится быть грубыми.
    • Никто не гарантирует вам большого количества загрузок или продаж, но не стоит расстраиваться.
    • Разработка приложений - штука увлекательная; вы не сможете остановиться.

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

    Каждое приложение и его обновление должно проходить через строгую модерацию. Все приложения в магазине обновляются с периодичностью в 1 месяц.

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

    Разработка приложений для iOS, либо как полюбить Apple еще сильнее

    Заработная плата iOS разработчиков варьируется от 60 000 до 250 000 рублей. Актуальность разработки под iOS неоспорима.

    В рамках этой статьи мы создадим приложение, где выведем сообщение “Hello World” на главном экране и не напишем ни строчки кода.

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

    1. Устройство с MacOS на борту
    2. Скачанный Xcode

    Голова нам, как видите, не потребуется. Да, компания Apple приложила максимум усилий, чтобы как можно сильнее упростить процесс и сократить время разработки мобильных приложений под их платформы, такие как: iOS, tvOS, macOS, watchOS. Также Apple представила в 2014 году язык программирования Swift, который очень прост для начинающих разработчиков и очень функциональный для профессионалов. Если вы сможете создать приложение для одной платформы Apple, к примеру для iOS, то вам не составит труда создать приложение и под другие платформы. Все унифицировано до такой степени, что вы можете использовать чуть ли не один и тот же код, запуская его на разных типах устройств.

    Поехали!

    СОЗДАНИЕ ПРОЕКТА

    И так, как говорилось ранее, нам потребуется компьютер Apple , и установленное приложение Xcode , которое находится в App Store в свободном доступе.

    Давайте разберемся, что такое Xcode и зачем он нам нужен.
    Xcode — это программная среда разработки, которая включает в себя: редактор кода, редактор графических интерфейсов, систему контроля версий и инструменты для отладки и выкладки, написанных нами приложений. Одним словом, это программа, в которой ведется 90% всех взаимодействий в разработке приложений под семейство операционных систем Apple .

    И так, запустив программную среду разработки мы видим приветственное окно, где мы можем открыть, создать или клонировать проект. Нам нужно создать новый, нажав на “Create a new Xcode project” . Да, весь интерфейс Xcode на английском языке, поэтому советую запастись англо-русским словарем.


    Следующим шагом мы видим данное окно:

    где нам предлагают выбрать платформу и тип приложения. Нам нужно программное обеспечение iOS (в верхней части диалогового окна) и Single View App. Любые приложения начинаются с Single View, а потом разрастаются до 50 View App.

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


    Давайте по-порядку:


    Заполнив информацию, нажимаем Next , и выбираем местонахождение проекта на нашем компьютере и жмем Create

    ОБЗОР СРЕДЫ РАЗРАБОТКИ

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



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

    Также мы видим строку состояния, в которой можно наблюдать текущую задачу, которую выполняет среда разработки, правее мы можем увидеть настройки вида редактора: стандартный редактор , редактор с ассистентом и просмотр изменений в системе контроля версий, а также есть кнопки, чтобы показать/скрыть части среды, которые мы будем рассматривать далее: снизу (отладочная информация) , справа (навигация) и слева (утилиты)

    Слева мы видим несколько кнопок, которые будут переключать функционал левой панели, а именно:

    1. Навигация по файлам и папкам
    2. Система контроля версий
    3. Иерархия классов в проекте
    4. Поиск по проекту
    5. Уведомления о предупреждениях и ошибках при сборке
    6. Автоматизированные тесты
    7. Отладка
    8. Точки останова
    9. Логи сборок

    Справа у нас есть две части: верхняя и нижняя . Вся правая панель зовется утилитами. В верхней части мы увидим настройки выбранного файла и/или элемента пользовательского интерфейса. В нижней части утилит, мы видим элементы пользовательского интерфейса, которые мы можем использовать.

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

    И в основной (центральной) части среды мы можем наблюдать редактор, в котором пишется код и ведется работа над пользовательским интерфейсом приложения.

    И в основной (центральной) части среды мы можем наблюдать редактор, в котором пишется код и ведется работа над пользовательским интерфейсом приложения.

    1. Identity
      1. Display Name — имя приложения, которое будет выводиться на домашнем экране устройства
      2. Bundle ID Уникальный идентификатор, который будет использоваться в App Store
      3. Version -текущая версия проекта, которая ведется используя семантическое версионирование
      4. Build — Номер сборки, который стоит увеличивать на единицу с каждой установкой приложения на устройство
    2. Signing
      1. Automatically manage signing — автоматическое управление подписью приложения
      2. Team — наименование вашей команды
      3. Provisioning profile — профиль, для подписи приложения
      4. Signing Certificate — сертификат, который позволяет подписывать приложение в Apple
    3. Deployment Info
      1. Deployment Target — минимальная версия iOS, на которую может быть установлено приложение
      2. Devices — Типы устройств
        • iPhone
        • Универсальное
      3. Main Interface — Storyboard файл, с которого будет начинаться приложение после
      4. Device Orientation — Возможные ориентации устройства при работе с приложением
        • Портретное
        • Вверх ногами
        • Альбомный против часовой
        • Альбомный по часовой
      5. Status Bar Style — Цвет статус бара (верхняя панель информации со временем, оператором и батареей)
        • Светлый
        • Темный
        • Скрыть
    4. App Icons and Launch Images
      1. App Icons Source — иконка приложения
      2. Launch Screen File — экран, который показывается пока приложение запускается

    Остальные пункты нам пока не потребуются.

    Теперь, когда мы разобрались с тем, из чего состоит наша среда разработки, можно приступить к созданию нашего “Hello World” приложения.

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

    СОЗДАНИЕ ПРИЛОЖЕНИЯ

    Первым делом, нам нужно найти файл интерфейса, который называется Main.storyboard . Его можно найти слева в панели навигации.

    Открыв файл, мы видим экран приложения. Теперь нам нужно перетащить элемент под названием Label на этот экран. Этот элемент находится слева внизу.
    Перетаскиваем его на экран в любое место. Затем в панели утилит, ищем поле, в котором написано “Label” .
    И изменяем Label на Hello World . После этого, мы увидим, что наш элемент на экране не показывает полностью нашего текста, который мы вписали, так как у него был текст изначально меньше, и он принял его размеры.

    Заставим данный элемент зафиксироваться по-центру экрана и принять правильную форму, чтобы наш текст полностью отобразился. Для этого, нам нужно найти вторую кнопки внизу слева, которая называется Align и нажимаем на нее.


    Здесь мы видим некоторые параметры расположения нашего элемента. Нам требуются два последних параметра. Активируем их и нажимаем “Add 2 Constraints”. После этого, мы можем наблюдать, как наш элемент зафиксировался посередине экрана и принял форму, в которой отображается наш текст полностью.

    СБОРКА И ЗАПУСК

    Теперь, нам нужно запустить наше приложение на устройстве, и посмотреть, все ли верно будет отображаться. Для этого, мы нажимаем вверху на выбор назначения запуска приложения и видим выпадающий список:
    В этом списке мы видим устройства и симуляторы устройств, на которых мы можем запустить наше приложение. Выбираем любое и жмем Run . Начнется сборка приложения и Xcode покажет нам задачи, которые он выполняет в данный момент времени:
    После успешной сборки проекта, мы увидим, что Xcode перейдет в режим ожидания запуска приложения и появится окно симулятора, которое будет загружаться. После того, как симулятор загрузится, мы сможем наблюдать наше приложение на устройстве

    Ну что-же, пришло время написать нам свою первую программу для нашего iPhone. Если вы еще не поставили себе XCode + iPhone SDK — то вам . И так, XCode у нас стоит и настроен, начнем?

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

    Создаем наш первый и надеюсь не последний проект:

    Далее нас спросит какой тип приложения создавать. Слева в панели выбираем iPhone OS -> Application а в центральном окне выбираем тип проекта View-based Application . Назовем нашу первую программу, допустим, FirstApp

    В результате у нас создается проект с уже созданным контроллером (первым окном нашей программы)

    Главное окно проекта выглядит вот так:

    Xcode создал для нас первый контроллер, это два файла c названиями FirstAppViewController.h и FirstAppViewController.m

    Файл FirstAppViewController.h выступает как-бы заголовком (оттуда и расширение файла.h от слова header) В нем мы будем оглашать переменные и методы которыми будем пользоваться в главном файле FirstAppViewController.m

    И так, открываем файл FirstAppViewController.h и создадим два указателя:

    IBOutlet UILabel *username;

    Первая переменная username — это текстовая метка, в которую мы будем записывать наше имя. nikField — это текстовое поле, откуда мы будем читать наше имя.

    Записывать это нужно в блоке @interface firstAppViewController: UIViewController { }

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

    — (IBAction)setNik;

    В итоге, наш файл FirstAppViewController.h должен выглядеть так:

    #import @interface firstAppViewController: UIViewController { IBOutlet UILabel *username; IBOutlet UITextField *nikField; } - (IBAction)setNik; @end

    Теперь, перейдем в файл FirstAppViewController.m

    Добавим сюда наш метод setNik. Писать нужно после строчки @implementation firstAppViewController

    - (IBAction)setNik{ username.text = nikField.text; }

    Тут мы прописываем, что при выполнении этого метода в текстовую метку username будет записан текст из поля nikField

    Еще нам нужно освободить память от этих указателей после того как мы их используем. Делается это в методе под названием dealoc

    - (void)dealloc { ; ; ; }

    Просто добавляем все указатели, которые использовали, вот в таком формате: ;

    Теперь, открываем файл интерфейса FirstAppViewController.xib Он запускается в редакторе интерфейсов Interface Builder.


    Из библиотеки компонентов перетаскиваем нужные нам компоненты в окно нашей программы и расставляем так как удобно. Дальше в маленьком окне выбираем File’s Owner и нажимаем Command+2 что переносит нас в меню Connections inspector. Видим там список наших указателей, которые мы уже прописывали, а справа от них пустые кружечки. Клацаем на пустой кружочек возле указателя nikField и не отпуская тянем к текстовому полю. Когда мы подводим к ниму указатель мыши, он обводится прямоугольником и отпускаем. Таким образом, мы привязали это поле к указателю nikField. Теперь сделаем так же с указателем username и перетащим его на тот текст, где хотим видеть наш ник (у меня на картинке это текст %username%). Еще чуть ниже видим наш метод setNik и связываем его с нашей кнопкой. Но когда вы поднесете к кнопке и отпустите, то выпадет контекстное меню из которого выберите Touch Up Inside. Это означает, что этот метод сработает когда мы нажмем и отпустим кнопку. То что нам и нужно:)

    Ну что, сохраняем, переходим обратно в Xcode и нажимаем Build & Run. Урааа, наша первая программа запустилась:) Нажмем в текстовое поле, появляется клавиатура, пишем имя. Но в нашей программе еще не хватает одного маленького штриха. Это чтобы убиралась клавиатура по нажатию на кнопку Done, когда мы закончили вводить наше имя.

    Для этого опять включимся в конструктор интерфейсов, нажмем на нашу кнопку. Нажмем Command+1 и найдем там блок Text Input Traits. В нем есть несколько выпадающих списков, но нас интересует только самый нижний: Return Key. Выбираем со списка Done и в низу блока ставим галочку возле Auto-enable Return Key. Дальше мереходим в Command+2 Connections Inspector и видем там слово delegate . Жмем на кружек возле него и тяним к блоку File’s Owner

    Теперь возвращаемся в наш файл FirstAppViewController.m После нашего метода setNik добавляем еще такой код:

    - (BOOL)textFieldShouldReturn:(UITextField *)theTextField { ; return YES; }

    Сохраняем и пробуем запустить (можно использовать комбинацию Command+R) Пробуем написать наше имя в текстовом поле. При написании появляется кнопка Done по нажатию на какую закрывается клавиатура. Теперь жмем на нашу кнопку и вуа-ля, программа с нами здоровается:)

    Казалось бы какая мелоч, подумаешь написали такую мелоч. А я, когда много лет назад учил делфи, выучив один такой пример, чтобы по нажатию на кнопку что-то писалось на экране делал уже разные игрушки. Помните одну из самых первых браузерных игр Бойцовский клуб? Вот я делал себе ради забавы что-то похожее и там все было основано именно на таком принципе как мы только что с вами сделали. Так что играйтесь, экспериментируйте!

    Вот вам еще линк на архив проекта Можно скачать, включить посмотреть если у кого-то что не получилось. Ну а если есть вопросы — то пишите в комментариях.

    Итак, вам тоже пришла мысль: «А как мне научиться писать программы для iPhone? «, «Как мне сделать свое мобильное приложение? «, «Как заработать миллионы ничего не делая? «. Постараюсь пошагово ответить на эти вопросы (кроме последнего).

    Что нужно знать с самого начала

    Чтобы создавать программы для iOS официально от вас требуется компьютер Apple (iMac или Macbook ). Но если говорить совсем честно, вам нужна операционная система OS X , поэтому многие по началу хитрят и умудряются использовать Хакинтош (Hackintosh ), то есть запускают OS X на обычных компьютерах — это экономный вариант, противозаконный и довольно хлопотный в плане настройки. Я вам рекомендую, раз уж вы твердо решили стать iOS-разработчиком, купить простенький Macbook или Mac Mini, можно даже б/у (любой, выпущенный с 2010 года).

    Дальше — на чем писать. Приложения для iOS пишутся на языках программирования Swift или Objective-C , а все магическое действо происходит в программе Xcode (бесплатная). Swift — это очень новый язык, который Apple представила буквально недавно (середина 2014 года) и теперь активно доносит мысль, что программировать нужно только на нем, за ним будущее, он более современный и быстрый. И они правы, учите Swift . Objective-C напротив язык с давним прошлым, поэтому понять его значительно сложнее начинающим, что не отменяет его мощь и богатство существующих наработок и книг по нему (чего не скажешь в данный момент про Swift). И тем не менее, повторяю, учите Swift .

    Если хотите делать кроссплатформенные приложения (одновременно под iOS и Android) — учите C# и используйте среду разработки Xamarin (платная). Хотите делать кроссплатформенные игры — качайте среду разработки Unity3D (условно-бесплатная), учите уже упоминавшийся выше C# .

    А еще, чтобы запускать свои приложения на iPhone/iPad (даже на этапе разработки) и затем выкладывать их в AppStore, вам нужно купить статус Apple Developer за 100$ в год. После покупки это лишний раз мотивирует как минимум отбить эти деньги 🙂

    Когда я задался этим вопросом, то подумал, что нужно просто взять хорошую толстую «библию» по Objective-C (напомню, Swift тогда еще не было) и постигать тайные знания языка программирования главу за главой. Все советовали книгу Стивена Кочана «Программирование на Objective-C «. Wrong! Не повторяйте мою ошибку. Да, азы языка были постигнуты, книга хорошая, но это справочник и он далек от реальной разработки приложений с нуля. Чтобы научиться программировать вам нужно «запачкать руки», пытаясь написать первые, пусть совсем простые, но работающие приложения. Вам нужны уроки с примерами. От простого к сложному. А еще важно поставить реальную цель, первое приложение, которые вы хотите написать и выпустить в AppStore. Каждый урок или книга должны давать вам знания, которые вы можете применить в своем проекте. Не совершайте ошибку «вечного студента», который только то и делает, что изучает-изучает-изучает, но откладывает момент начала настоящей работы. К примеру, я ставил себе цель сделать приложение-радио и выпустить его в AppStore за месяц — и у меня получилось.

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

    The iOS Apprentice

    Лучший англоязычный обучающий сайт — RayWenderlich.com . Он мега-крут по трем причинам: 1) можно бесплатно прочитать море уроков от азов до попытки повторить существующие успешные приложения (в том числе на Swift), при этом все написано душевно и с юмором; 2) там есть видео-уроки (правда, платные); 3) Важнейшая причина — у них есть книги для начинающих, которые обучат вас с нуля на примере создания приложений, очень доходчиво, с картинками (ну, как мы любим). Книги платные (дают бесплатно только первую часть), но они того стоят. Купил их все и они давно окупились, так как они строят хороший фундамент кирпичик за кирпичиком. Это не сравнить просто с чтением разных уроков вперемешку на этом же сайте. Начните с покупки книги The iOS-apprentice (первую часть которой можно скачать бесплатно). Она научит вас создавать первые приложения на Swift. Также у них есть книги по разработке игр на SpriteKit (фреймворк Apple для разработки игр).

    Второй по-полезности ресурс — AppCoda . Он попроще RayWenderlich, но суть та же — читаем уроки по Swift, учимся на примерах. У них тоже есть собственные книги (платные), кроме бесплатных уроков.

    А что, если не знаете английский — упс, подобных российский интернет-ресурсов просто нет. Книги на русском? Конечно, вы найдете какие-то книги на Ozon, но все они устаревшие и не научат вас языку Swift (на данный момент все только по Objective-C).

    Лучшее, что я могу вам предложить, это хаб «iOS-разработка» на Хабре , там постоянно появляются новые статьи, но очень хаотично.

    Где найти ответ, что-то не получается

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

    StackOverflow — самый большой кладезь готовых ответов на английском. 80% ответов я нахожу там.

    Google — банально, просто вбив в поиск вопрос, можно найти ответ. Если сразу не получается, поиграйтесь с формулировкой вопроса.

    Тостер — аналог StackOverflow, но на русском. Здесь пока сложно находить ответы, так как база вопросов еще не очень большая. Зато можно спросить — на ресурсе достаточно профессионалов, которые вам ответят.

    Ну или можете спросить меня. Пока бесплатно 🙂