четверг, 17 января 2013 г.

Как запустить свое приложение на iPhone / iPad / iOS устройстве

Всем привет!

Сегодня я расскажу о том, как запустить написанное вами приложение на вашем iphone / ipad / ipod.


Что у вас уже должно быть:

  • Mac (или виртуалка с маком) с установленным XCode
  • Любое iOS устройство, на котором вы будете запускать - как же без него :)
  • Сертификат разработчика, купленный у Apple за 99$ (если хотите, могу посвятить отдельную статью тому, как его получить - как что оформляется, как пересылать деньги и т.д.)
Если у вас это все готово, то можем продолжить.

Что нужно для запуска приложения на iOS?
Для того, чтобы запустить ваше приложение на iphone/ipad/ipod, вам нужно иметь на вашем компьютере:
  • файл сертификата разработчика
  • provisioning profile, который описывает подписываемое приложение
  • + нужно знать идентификатор приложения
  • + подключить свой девайс к вашей программе
Собственно, все эти моменты мы сейчас рассмотрим.

Зайдите на сайт http://developer.apple.com - откроется сайт Apple, посвященный разработчикам.
Нам нужно зайти в iOS Dev Center и залогиниться.

После этого вы должны увидеть следующее окно:
Если вы понимаете английский, то можете здесь найти большое количество интересной информации :)
Для нашей задачи нам нужно в колонке справа (iOS Developer Program) выбрать первый пункт - iOS Provisioning portal (портал, на котором вы управляете всеми вашими сертификатами, профилями и устройствами).
Портал выглядит вот так:


Нас с вами будут интересовать пункты из менюшки слева.
Начнем с сертификатов (меню Certificates).

Дальше возможно два варианта.
Вариант 1. Если вы уже запрашивали сертификат, вы увидите его в списке:

Если же не запрашивали, то у вас вместо этого списка будет кнопка Request Certificate.

Нажмите на нее и у вас появится инструкция на английском о том, как сгенерировать сертификат. К счастью, я перевел ее для вас :)
Чтобы сгенерировать сертификат, необходимо:
В приложениях (Applications) выбрать папку Утилиты (Utilities) и в ней открыть приложение Keychain Access (связка ключей).

Выбрать меню KeyChain Access  (связка ключей) > Certificate assistant (ассистент сертификации) > Request a certificate from certificate authority (запросить сертификат у бюро сертификации).

В появившемся окне ввести ваш емэйл в первую строку, во вторую строку - имя, и выбрать опцию Request is saved to disk (сохранить запрос на диск).
Нажимаем Continue (продолжить) и сохраняем запрос на диск.
Затем возвращаемся в браузер и нажимаем Choose file - и выбираем запрос, который только что создали.
Жмем Submit и - вуаля! - наш сертификат появляется в списке, правда, без кнопки Download. Но ничего страшного - всего спустя минуту она появится :)

Итак, жмем на кнопку Download и скачиваем наш сертификат.
Затем переходим во вкладку Distribution:

И скачиваем этот сертификат тоже.

Далее жмем на каждом из скачаных сертификатов - и они будут добавлены к вам в систему.
В чем различия между сертификатами Development и Distribution?
Development - сертификат используется только для разработки и запуска на вашем устройстве.
Если вы захотите разместить приложение в AppStore или передать другу, используя AdHoc (это единственный вариант, как можно передать приложение, не используя AppStore), то вам понадобится distribution-сертификат.

Отлично, первый шаг сделали.
Идем далее. Вкладка "Devices":
Как видите, здесь представлен список используемых мной устройств. Всего в год вы можете добавить до 100 устройств, так что используйте с умом :) Впрочем, каждый год при продлении вы можете убирать лишние устройства.
Для того, чтобы добавить новый девайс, нажмите в правом верхнем углу Add Device и увидите следующее:

В Device Name надо ввести на английском краткое и понятное для вас описание устройства, например "Sergey Yugai iPhone 3Gs".
В Device ID нужно ввести UDID вашего устройства. Что такое UDID?
Udid - это идентификатор устройства, который можно обнаружить в iTunes следующим образом:
подключите ваше устройство к iTunes и откройте вкладку с устройством:
Нажмите на надпись "Серийный номер" и у вас появится ваш udid:


Вот его-то и надо ввести :) Будьте осторожны и не опечатайтесь при вводе.

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

Осталось два пункта - создать идентификатор приложения и сгенерировать профиль для распространения.
Выберите меню App IDs и увидите новую страницу:
Нажмите New App ID и появится страница:
 Что тут к чему? На самом деле, все несложно.
Введите в Description описание приложения, простое, но емкое, которое поможет вам отличить его в списке от других.
В Bundle Identifier нужно ввести идентификатор приложения. 
Он берется в XCode, в вашем проекте - откройте проект и в вашем Target вы увидите Bundle identifier:

 Скопируйте его и нажмите Submit.
Тогда ваш идентификатор появится в списке, примерно так:

 Осталось немного - сгенерировать Provisioning profile.
Давайте создадим профиль для разработки. В ближайшее время я создам отдельный пост, касающийся темы распространения приложений и там мы создадим профиль для распространения.

А пока - во вкладке Development жмем NewProfile:
И видим такое окно:
Введите в Profile Name короткое описание профиля, понятное вам. Отметьте галочкой ваш сертификат разработчика, выберите сгенерированный ранее App ID (идентификатор приложения) и выберите устройства, на которых можно будет запускать приложение (да-да, если вы попробуете запустить на том, которое не будет выбрано в этом списке, вы получите ошибку).
Вот пример:

 Отлично, теперь у нас в списке появился профиль и мы можем скачать его.

Скачав, нажмите на него и он будет добавлен вам в систему.
Примеро вот так:

 Теперь откройте ваш XCode, нажмите на проект и откройте в Target вкладку Build settings:

Обратите внимание - если вы сделали все правильно, то теперь у вас там, где я замазал, будет автоматически написано 'currently matches iPhone Developer: ваше имя in название профиля'
Если все ок, то выберите в списке устройств ваше:
Нажмите Run и наслаждайтесь!


Охх! Это был долгий туториал, но, я надеюсь, он пришелся вам по вкусу.


Однако, запускать приложения у себя - это только пол-дела.
Я выпущу еще один небольшой туториал на тему распространения приложений для друзей.

На этом - все, удачи в программировании!


Комментариев нет:

Отправить комментарий