Публикация приложения в app store инструкция. Регистрация приложения в AppStore — мы сделали это

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

Одна из главных задач Scorocode - помощь российским мобильным разработчикам. Но жизненный цикл приложения не завершается после создания. Его еще нужно опубликовать, развивать и поддерживать. Чтобы помочь на самых разных этапах существования мобильных приложений и сервисов, мы будем периодически публиковать различные статьи и заметки. Следите за обновлениями блога.

App Store

Начнем с самого сложного - с размещения в App Store от юридического лица.
  1. Для начала идем на страницу developer.apple.com/programs и регистрируемся в качестве нового разработчика. Не советуем использовать уже существующую учетную запись, если раньше вы никогда не пользовались ею для публикации приложений, так как в ее данных могут быть ошибки. Лучше создайте новую, которая будет использоваться для дальнейшей работы и размещения.

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

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

  2. Следующий шаг - регистрация компании в программе iOS Developer. Заходим во вкладку Account и жмем на Apple Developer Program . Читаем красивые продающие описания всех преимуществ программы и жмем далее, пока не увидим надпись Start your enrollment . Нажимаем на нее и приступаем к процессу регистрации.

  3. Для начала нам предстоит выбрать - от юридического лица или от физического будут публиковаться наши приложения. Выбираем Company (ни в коем случае не государственная компания (Government organization) - не перепутайте). Далее нас попросят заполнить личную информацию и информацию о компании.

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

  4. Здесь же нас попросят указать так называемый D-U-N-S number , который теперь используется Apple вместо предоставления переведенной на английский выписки из ЕГРЮЛ, чтобы удостовериться, что ваша компания реально существует. Вот на этом шаге и возникает загвоздка у многих разработчиков. Присвоением D-U-N-S-номеров занимается фирмы D&B, на которую Apple возложила все обязанности по проверке юридических лиц. На сайте Apple есть информация о том, для чего им нужен этот номер, но ссылка на его получение нерабочая. По крайней мере, перейдя по ней, получить D-U-N-S не удастся, так как процедура изменилась в 2015 году. Стоимость присвоения номера - 12 240 рублей . Пока вы его не получите, процедуру регистрации в Apple продолжить не удастся, но страшного в этом ничего нет, так как все заполненные данные сохранятся. Обратите внимание, что названия вашей компании на сайтах Apple и D&B должны полностью совпадать.

    Все данные на сайте D&B заполняются на русском языке, перевод на английский компания осуществляет самостоятельно. После заполнения анкеты на указанную электронную почту придет письмо со счетом на сумму 12 240 рублей. В течение 5 рабочих дней после его оплаты данные о вашей компании появятся в реестре D&B. Но имейте в виду, что для Apple они станут доступны только через 14 рабочих дней. Если вы попробуете ввести D-U-N-S раньше этого срока, тот он не пройдет. Итого, придётся ждать 19 рабочих дней, фактически календарный месяц. Как только номер принят Apple - самый длительный и тяжелый этап регистрации остается позади.

  5. Далее нам нужно получить доступ к инструментарию разработчика для размещения приложения в сторах, получения сертификатов и т.д. Доступ платный и стоит $99 в год. За эту сумму вы получите возможность разрабатывать приложения под три платформы - iOS, Mac и Safari. Однако при размещении контента в iTunes (книг, фильмов и музыки) может потребоваться использовать отдельный аккаунт AppleID.

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

  6. Получив письмо со ссылкой, переходим по ней, принимаем соглашение и оплачиваем программу. Для России оплатить можно только с кредитной карты, заполнив специальную форму и отправив ее в Apple. Не советуем указывать личные карты, для этого удобнее всего выпустить предоплаченную виртуальную карту на нужную сумму и передать ее данные. В течение 1-3 дней средства будут списаны, и вы получите письмо с активационным кодом для завершения процедуры регистрации.
  7. Кликните по коду и нажмите Продолжить в открывшемся окне, после чего станет доступна долгожданная кнопка Get Started . Нажав на нее, мы получим доступ в Developer Member Center, где увидим полный функционал разработчика, поддержку и, самое главное, - доступ на портал для разработчиков .

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

Для физического лица всё гораздо легче. На странице developer.apple.com/programs жмем кнопку Enroll , выбираем физическое лицо, заполняем данные с ФИО, адресом и телефоном, принимаем лицензионное соглашение и… Это всё.

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

Google Play

Процесс регистрации приложения в Google Play напоминает регистрацию у Apple в качестве физического лица - всего несколько простых действий.

Что дальше?

Регистрация - лишь часть большого процесса выкладывания приложения в стор. Чтобы ваше творение стало доступно миру, нужно выполнить ещё немало процедур, а также убедиться, что ваше приложение соответствует определённым критериям.

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

Вместо этого мы поделимся нашим опытом проникновения в AppStore. Ежедневно в него попадают тысячи приложений, в карманы разработчиков (и Apple) текут зелёные реки хрустящих бумажек, а в программе разработчиков iOS developer регистрируются сотни новых программистов и компаний. Растущая популярность платформы iOS подтолкнула нас к мысли - почему бы не написать собственное приложение для iPhone? Кстати, наше приложение совершенно бесплатное:)

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

Становимся Apple Developer’ом

Идём сразу на страницу developer.apple.com/programs/ios .

Прежде всего нас спросят - хотим ли мы вступить в программу как уже зарегистрированный разработчик Apple или как новичок? Мы - новички, поэтому выбираем пункт «New Apple Developer» с возможностью создать новый Apple ID.

На следующем экране - ключевой вопрос - компания ли мы или разработчик. Смело выбираем «Компания» и готовимся к худшему.

Спрашивают у нас довольно много личной и даже интимной информации - от имени-фамилии до адреса места работы и телефона.

Далее нам предложат выбрать категории приложений, которые мы хотим разрабатывать, на какой рынок мы ориентируемся и под какую платформу мы собираемся разрабатывать (iOS, Mac OS X или Safari), сколько лет разрабатываем и (пристально глядя в глаза) спросят, не разрабатываем ли мы приложения «на сторону»… в смысле для других мобильных платформ.



Последние шаги - это поставить птичку под лицензионным соглашением (согласен, подтверждаю, не возражаю, целиком и полностью за)

И ввести код подтверждения, который придёт на указанный вначале e-mail.

Поздравляем! Теперь вы теперь почётный Apple Developer! Один из тысяч… зато какой!

Регистрация компании в iOS Developer Program

Для того, чтобы зарегистрировать компанию в iOS Developer Program, Apple необходимо знать название, адрес и телефон компании,

А также контактные данные лица, ответственного за регистрацию в iOS Developer Program и имеющего все необходимые для этого полномочия.

Выбираем iOS Developer Program,

Подтверждаем на отдельном экране всю введённую информацию

И ждём подтверждения Apple. Обычно на рассмотрение заявки уходит около суток. После подтверждения заявки нужно будет согласиться с лицензионным соглашением Apple и оплатить (наконец уже!) участие в программе.

Поскольку в России Apple Store пока что не наблюдается, единственный способ оплаты - это заполнение специальной формы (с совсем уже интимными данными об одной из ваших банковских карт, с которой Apple загребёт жадными ручонками целых 99$). Мы для этой формы выпустили виртуальную банковскую карту с лимитом 100$. Заполненную форму необходимо послать в Apple. Примерно через сутки вам придёт подтверждение о списании средств.

Доказываем свое существование и тренируем разговорный английский

Казалось бы - всё? Нет! Теперь вы должны доказать, что вы - не верблюд.
Apple должна удостовериться, что ваша компания действительно совершенно официально существует, для чего необходимо взять выписку из ЕГРЮЛ со сведениями о вашей компании, перевести на английский язык и отправить в Apple… правильно, по факсу. С телефоном, названием компании и номером вашей заявки, выписанными на отдельный листочек. При этом - важная деталь! - название вашей компании в переведённой выписке должно В ТОЧНОСТИ совпадать с заявленным при регистрации компании в iOS Developer Program. Запаситесь терпением - к рассмотрению присланных документов бюрократы Apple приступают примерно через недельку, а любое тёмное пятнышко на какой-то из страниц повлечёт за собой вежливое письмо с просьбой переслать всё заново ещё раз. И ещё раз подождать.

Затем Apple позвонит вам, чтобы удостовериться, что вы вообще существуете. И на английском языке сообщит, что - ГИП-ГИП-УРА! - с документами все в порядке и вам открыли доступ на портал разработчика itunesconnect.apple.com. На этом портале можно отправить свое приложение на рассмотрение, посмотреть ежедневную статистику скачиваний, заполнить реквизиты счета, на который Apple должны будут зачислять заработанные деньги, выставить свой собственный вариант EULA…

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

И?

Что будет дальше? А дальше нам надо поднять наше приложение в категории Business как можно выше и следить за скачиваниями. А также продолжать работать над функционалом. Ну и не забывать раз в год отправлять за бугор 99$ за пользование магазином с известным именем AppStore.
Успешных вам регистраций!

Кстати, совсем забыл:) Вот

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




Настройка проекта, сборка и выгрузка

Откройте проект вашего приложения в XCode, перейдите к настройкам проекта. Необходимо, чтобы Bundle Identifier совпадал с BundleID, который вы указали при создании AppID. Также необходимо отключить функцию автоматического управления подписыванием в XCode. В выпадающем списке Provisioning Profile выберите тот, который недавно создали.



Обратите внимание: без всех необходимых иконок (в том числе иконка для магазина со стороной 1024 точки) сборка приложения не пройдет автоматическую проверку в iTunes Connect.


Теперь проект можно собрать и отправить в iTunes Connect. Для этого нужно нажать меню Product - Archive. По итогу сборки будет показано окно органайзера XCode, нажмите там кнопку «Upload To App Store»:



Открывается окно настроек выгрузки в App Store. Подробнее про bitcode , symbols stripping . Оставляем настройки без изменений.



На следующем шаге нужно выбрать provisioning profile из выпадающего списка подходящих:



Затем XCode подготовит архив для выгрузки в iTunes Connect. На этом экране обратите внимание на те параметры, что мы установили. Нажмите Upload.



В зависимости от скорости соединения нужно будет подождать некоторое время. Если все в порядке, XCode сообщит об успешном завершении выгрузки в iTunes Connect. Можно переходить к последнему этапу.


Отправка на ревью

В iTunes Connect на вкладке Activity можно увидеть отправленную сборку. Для проектов на Swift автоматическая проверка сборки занимает примерно полчаса. До тех пор сборка будет со статусом Processing:



После окончания проверки сборка доступна для выбора на странице информации о версии приложения:



Выбираем сборку:



После этого у приложения в iTunes Connect появится иконка. Сохраните изменения. Теперь можно отправить сборку на ревью.



Готово! Вы сделали все, что могли. Ждите ответа в течение нескольких дней. Не забудьте, что с 23 по 27 декабря iTunes Connect на каникулах. Разработчики не смогут обновлять и добавлять новые приложения в App Store и изменять ценники. Все остальные функции iTunes Connect будут доступны.

  • Разработка мобильных приложений ,
  • Разработка под Android ,
  • Разработка под iOS
    • Tutorial

    В первой части нашего туториала мы зарегистрировались в обоих магазинах - App Store и Google Play. Но чтобы ваше приложение стало доступным для скачивания, необходимо совершить ещё немало действий. Давайте их рассмотрим.

    Прежде чем перейти к процедуре выкладывания, обязательно удостоверьтесь, что ваше приложение соответствует требованиям (Google , Apple), предъявляемым к качеству и содержимому публикуемых приложений. Несоответствие этим требованиям часто приводит к тому, что начинающие разработчики с удивлением получают отказ в публикации, да ещё и предупреждение за нарушение.

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

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

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

    Сложный или непонятный интерфейс - ещё одна частая причина отказа. Убедитесь, что экраны приложения не перегружены, читаются легко, а цвета подобраны так, чтобы не убить глаза пользователя за 5 минут работы с приложением. У обеих компаний есть рекомендации по дизайну интерфейсов, сверьтесь с ними (Google , Apple).

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

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

    Планируя брать деньги с пользователей с помощью встроенных систем оплаты App Store и Google Play, то проверьте, входит ли ваше приложение в одну из категорий, поддерживаемых этими системами. Например, если вы планируете продавать через ваше приложение какие-то услуги, то придётся «прикрутить» другие системы оплаты.

    Background Modes. Это режимы, которые может использовать ваше приложение в свёрнутом/закрытом виде. Но приложение должно содержать функционал, который оправдывает выбор этих режимов. Если у вас указано Audio, а никакого аудио нет, или Voice over IP, а позвонить из приложения нельзя, то ждите отказ.

    Чаще всего приложения не проходят модерацию при выкладывании по следующим причинам:

    1. Неполное заполнение всех сопроводительных форм.
    2. Баги и «падения».
    3. В приложении используются фальшивые, мошеннические или вводящие в заблуждение данные.
    4. Используются иконки, аналогичные иконкам сторонних приложений.
    5. При разработке интерфейса не учтены рекомендации из официальных гайдлайнов (Apple, Google).
    6. Несоответствие заявленных функций и/или скриншотов фактическому приложению.
    Обо всяких злонамеренных вещах - вроде использования приложения для взлома, спама, использования нечестных методов привлечения и т.д. - можно и не упоминать.

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

    В заключение о процессе проверки приложения, цитата с официального сайта: «Мы отклоним приложение с контентом или функционалом, которые переходят черту. Где эта черта, спросите вы? Как однажды сказал один судья, «я узнаю, когда увижу». И мы думаем, вы тоже поймёте, когда пересечёте её ».

    App Store

    Используемые инструменты:
    • Компьютер Apple (с установленной OS X).
    • Apple store - магазин приложений Apple.
    • developer.apple.com - центр разработчика Apple.
    • itunesconnect.apple.com - сайт для управления своими приложениями, выкладывания в магазин, просмотра статистики, финансов и т.п.
    • XCode - интегрированная среда разработки.
    • Application Loader - программа Apple для загрузки собранного архива приложения в Itunes Connect.
    Каждое приложение, выкладываемое в App Store, должно быть подписано действительным сертификатом, выданным Apple.

    Чтобы подписать приложение нам необходимо:

    1. Запросить у Apple сертификат.
    2. Добавить новое приложение в Developer Center.
    3. Создать Provisioning profile.
    4. Создать новое приложение на портале itunesconnect.apple.com (далее - iTunes Connect).
    5. Заполнить всю необходимую информацию о приложении.
    6. Собрать архив приложения из XCode, подписав его нашим Provisioning profile.
    7. Загрузить архив в iTunes Connect с помощью Application Loader (ПО Apple).
    8. Указать в новой версии приложения архив, который мы загрузили, и отправить приложение на проверку.

    Рассмотрим каждый шаг более подробно:

    1. Запрос сертификата у Apple.

    2. Добавление нового приложения в Dev Center.

    3. Создание Provisioning profile.
      1. Переходим на developer.apple.com/account/ios/profile/production .
      2. Нажимаем на «+». Выбираем Distribution -> App Store. Нажимаем Continue.
      3. Выбираем созданный нами сертификат (iOS Distribution). Нажимаем Continue.
      4. Задаем имя сертификата. Нажимаем Continue.
      5. Сертификат создан. Скачиваем его на компьютер и открываем - теперь он есть у вас в XCode.
    4. Создание нового приложения в iTunes Connect.
    5. Заполнение всей необходимой информации о приложении.

    6. Сбор архива из XCode, с подписыванием его нашим Provisioning profile.

    7. Загрузка архива в iTunes Connect с помощью Application Loader.

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

    Google Play

    1. Подписываем APK-файл.
      Для того, чтобы выложить ваше приложение в Google Play, необходимо подписать его специальным ключом. Всего существует два вида ключей:
      • develop - ключ, которым подписываются абсолютно все приложения во время установки из среды разработки на устройства;
      • production - ключ, которым подписывается приложение перед выкладыванием в Google Play.
      Нам понадобится второй тип ключа. Он уникален для каждого приложения, им также необходимо подписывать все обновления вашего приложения. Если вдруг вы его потеряете, то восстановить его будет невозможно и придется выкладывать абсолютно новое приложение.

      Рассмотрим процесс подписи.

    2. Создание нового проекта и загрузка APK-файла в консоль разработчика.

    3. Заполнение обязательной информации о приложении.

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

    Опишем на будущее хинты по выкладыванию своих программ в магазин приложений Apple AppStore . Хотя, как показывает практика, дело это не очень чтобы благодарное, поскольку яблочные товарищи не склонны к постоянству в механизмах функционирования своей системы. Это было уже не раз обнаружено мной в ходе прохождения различных процедур регистраций. Читая материалы предшественников и вопросы на форумах частенько можно столкнуться с ситуацией, что один и тот же момент выглядит у тебя уже по-другому. Тем не менее, общая концепция пока что остается. И так, попробую описать своими словами всю эту махину))
    Чтобы выкладывать приложения в AppStore, необходимым условием является наличие статуса .
    Весь процесс можно разделить на два этапа: подготовка и публикация.
    Подготовка (Provisioning). Самый сложный в понимании этап (по крайней мере для меня показался).
    Он включает в себя создание идентификатора приложения App Id) и сертификата для подписи приложения . Все это объединяется под общим понятием профиля (Provisioning profile ). Но все по порядку. Самое сложное во всем этом — создание сертификата. Сертификат необходим для цифровой подписи приложения. Существует два вида сертификатов — сертификат разработчика (Development certificate) и сертификат дистрибуции (Distribution certificate). Из названия не трудно догадаться, что первый тип нужен для разработки, второй — для распространения. Первым можно подписывать приложение и запускать на своем гаджете (в целях отладки), второй нужен, чтобы собирать приложение для публикации в аппсторе . Чтобы иметь возможность запускать приложение на своем гаджете, необходимо зарегистрировать устройство в Provisioning Portal . Делается это следующим образом. В среде xCode открываем Organizer (Window -> Organizer), подключаем свой гаджет к компьютеру (по usb, например), видим, что он появляется в разделе Devices. Копируем его DeviceID (длинная hex-строка) в буфер и идем в Provisioning Portal в раздел Devices. Там жамкаем Add Device, далее все просто.

    Добавили. Теперь создаем сертификаты. Это не очень сложно, но меня заставило повозиться. Не буду долго расписывать, все это можно найти в How-To внутри Provisioning Portal. Обозначу лишь основные шаги:
    — Создание запроса на подпись сертификата (включает в себя создание пары открытого и приватного ключа). В итоге получаем на диске файл CSR.
    — Сабмит запроса на подпись сертификата. В Provisioning Portal заходим в секцию Certificates, указываем файл CSR, жмем Submit, сертификат создается и переводится в состояние Pending Approval .
    — В Provisioning Portal заходим в секцию Certificates и подтверждаем сертификат (жмем Approve)
    — Скачиваем и устанавливаем сертификат в систему. В Provisioning Portal заходим в секцию Certifiates. Кликаем ссылку WWDR Intermediate Certificate , на что нам предлагают сохранить файл.cer. Соглашаемся, и по завершению скачивания кликаем на нем. Запускается программа Keychain Access, которая предлагает установить сертификат в систему. Соглашаемся, и вот у нас есть сертификат для разработки.
    Важный этап — эппл настоятельно рекомендует сохранить сгенерированный приватный ключ. При его утрате все труды окажутся напрасными, мы ничего больше не сможем подписать. Хорошо, что я вспомнил это, так как сам до сих пор не забэкапил свой ключ. Все-таки, полезная вещь — блог)))
    Для сертификата дистрибуции все то же самое, за исключением того, что ключи больше не надо генерить.
    И так, сертификаты мы создали, что теперь? Теперь нужно создать так называемые Provisioning Profiles (не хватает фантазии перевести на русский). Подготовительный профиль (назовем его так) представляет собой совокупность сертификата и идентификатора приложения. Сертификат у нас уже имеется, создадим идентификатор приложения. Для этого идем на Provisioning Portal в сецкию AppIDs. Если не брать в учет «пакетную» концепцию идентификации приложений, то все просто: нажимаем New App ID, вводим
    — Description (напр, My Awesome App)
    — Bundle Seed ID (App ID Prefix) — если это наше первое приложение, то в списке будет всего один пункт — Generate New, в противном случае в нем будут идентификаторы ранее созданных приложений (по задумке, приложения можно объединять в пакеты (suite))
    — Bundle Identifier (App ID Suffix) — рекомендуется вводить в так называемом reverse domain style. То есть домен в обратном порядке. Например, в моем первом приложении Knight Move этот идентификатор выглядел как ru.heximal.knightmove.
    Жмем Sumbit. Все, идентификатор приложения создан.
    Далее заходим в разлем Provisioning и создаем профили нашего приложения (жмем New Profile). Для девелопмент-профиля вводим
    — Profile Name — под этим именем профиль будет отображатся в xCode. Пример: KnightMoveDevelopmentProfile
    — Certificates — ставим чеку на нашем сертификате
    — App ID — выбираем наше приложение
    — Devices — ставим чеку на тех девайсах, которые зарегистрированы — их может быть более одного. Я вот подумываю прикупить 4-й айфон для отладки (всмысле, не четвертый по счету — он у меня пока один, а с четвертой прошивкой). Забегая чуть вперед, скажу, что на втором этапе будет задан вопрос, тестировали ли мы наше приложение под iOS 4? Мне приходится отвечать Нет. Хотя я мог бы перепрошить свой девайс, iTunes каждый раз сигнализирует, что есть новая версия фирмвэйра. Но я пока не тороплюсь, потому что при таком раскладе у меня не будет возможности тестировать на третей прошивке кроме как в симуляторе.
    Создали профиль, дождались его аппрува, скачиваем файл профиля (.provisionprofile), открываем окно Organizer и кидаем туда драг-энд-дропом файл профиля. Он успешно инсталлируется. Все.
    Теперь открываем Project Settings, ищем опцию Code Signing подраздел Any iPhone OS, разворачиваем список, выбираем свой профайл, закрываем опции проекта. Далее важный момент. В структуре проекта (в древовидном сайдбаре) разворачиваем ветку Targets, щелкаем правой кнопкой на таргете, выбираем Get Info. Появляются снова опции проекта, но уже с секцией Properties. Заходим туда и вписываем в поле Identifier то значение, которое мы вводили при создании App ID в поле Bundle Identifier (напр, ru.heximal.knightmove). Все. Убеждаемся, что девайс подключен, выбираем в главном окне xCode конфигурацию Device|Debug и жмем Build And Go.
    После того, как мы отладили приложение на девайсе, наступает пора собирать дистрибутив для публикации. Для этого повторяем процесс создания профиля дистрибуции. Он схож с созданием девелопмент-профиля. Инсталлируем профиль в xCode , а далее нужно осуществить следующий трик. Необходимо создать новую конфигурацию Distribution. Открываем опции проекта, секцию Configuration, выбираем там конфигурацию Release и нажимаем Duplicate. Вводим название Distribution. Далее в окне Target в секции Build выбираем настройки для конфигурации Distribution и в поле Code Signing Identity — Any iPhone OS Device выбираем наш Distribution Profile . На закладке Properties не забываем вписать Bundle Identifier, если еще не сделали. Закрываем опции, и в главном окне xCode выбираем конфигурацию Device|Distribution. Далее неплохо бы проследить за процессом сборки. Для этого идем в меню Build — Build Results. Там настраиваем чтобы показывался лог компиляции. Нажимаем Build. Появляется много строчек, в конце которых ищем слова ProcessingProductPackaging … embedded.mobileprovision и СodeSign. Вот здесь у меня ушло много времени. В пакете приложения (application bundle) упорно не хотел появляться файл embedded.mobileprovision . А без него приложение никак не хотело загружаться в AppStore. Это явилось следствием того, что ранее я экспериментировал с самопальными сертификатами и отключением системы provisioning’а. Позже я восстановил (кстати, хвала своему блогу) последовательность действий, которая привела к неработоспособности системы профайлинга, но времени на это ушло… В общем, как я ранее уже заявлял, не скупитесь, вступайте лучше сразу в iPhone Developer Program, если вы конечно не мазохисты))
    Пакет приложения представляет собой простую папку с расширением.app, которая содержит исполняемый файл и все потроха приложения (ресурсы). Собственно, приложения Mac OS X представляют собой ровно то же самое, поэтому их можно просто перетащить куда-либо в другое место, и оно от туда запустится, потому что содержит внутри папки все необходимое. В этом конечно бесспорное приемущество non-registry концепции. И так, зипуем бандл нашего приложения тем самым готовимся к следующему этапу.
    Публикация.
    Дальнейшие действия производятся на портале iTunes Connect (itunesconnect.apple.com) Заходим в раздел Manage Your Applications и жмем Add New Application. Вводим
    — App Name — имя приложения, то, как оно будет выглядеть в AppStore. При публикации второго приложения я столкнулся с тем, что это название должно быть уникальным для всего AppStore. То есть, если мы задумали назвать приложение каким-либо образом, а приложение с таким названием уже существует, нам придется придумывать что-то другое. Также следует учесть требования самого Apple к названию приложения http://www.apple.com/legal/trademark/guidelinesfor3rdparties.html
    — SKU Number — опять какой-то уникальный идентификатор приложения, я не понял для чего он нужен, но решил придерживаться определенного правила генерации этого параметра, навроде hex_app_0001
    — Bundle ID выбираем наше приложение
    Дальше вроде все понятно, нужно заполнить мета-информацию о приложении: описание, категории, локализацию, скриншоты, иконку. После всего этого приложение переходит в состояние Waiting for upload. Для загрузки бинарника требуется программка Application Loader из пакета Developer. Если таковой не имеется, требуется доустановить. Запускаем ее, она спрашивает наш Apple ID и пароль, далее показывает список приложений, ожидающих аплоада. Выбираем, загружаем. Вот на этом этапе, кстати, у меня были проблемы до тех пор, пока я не реанимировал отключенный механизм профайлинга и кодесайнинга — без них аплоадер не хотел загружать приложение.
    Все, после загрузки приложение переводится в состояние Waiting for Review — ожидание рассмотрения. Рассмотрение проивзодится специалистами Apple на предмет соответствия требованиям. Эти требования описаны в мануале iPhone Application Development Guide, и включают в себя такие аспекты, как соответствие общему дизайну, грамотное использование ресурсов устройства, таких как памяти, энергопотребления, производительности ну и просто user-friendly. Apple очень ответственно к этому подходит. Могут завернуть, например, если приложение очень долго закрывается, я уж молчу про утечки памяти. Чтобы избежать этих неприятностей, приложение перед сборкой дистрибутиво следует тщательно протестировать. В пакете Developer есть набор инструментов (приложение Instruments). С помошью него можно узнать много нового о своем приложении. Например, написав первое приложение и прогнав его через программу мониторинга выделения памяти, и утечек я обнаружил, что оно безнадежно течет. Несколько дней потратил на устранение утечек . Позже накидаю небольшой мануальчик, как пользоваться инструментами.
    Будучи новичком, я думал, что статус Waiting for Review означает, что приложение уже находится на рассмотрении, однако по прошествии недели я заподозрил что-то неладное и решил написать в саппорт. На следующий день мне ответили и тут же пришло уведомление о том, что приложение переведено в статус OnReview. Тут сразу все стало ясно. Прошло еще дня полтора и приложение перешло в состояние Ready For Sale. Все, победа. Путь в аппсторе окончательно завершен.
    Небольшой конфуз произошел по неопытности, при неудачной попытке найти в AppStore свое приложение в тот же день. Его там не было. Как оказалось позже, это нормальная ситуация. Существует некий период индексации. По моим наблюдениям он составляет сутки. Второе приложение тоже появилось через сутки. Кстати, со вторым приложением ситуация с ожиданием рассмотрения повторилась. Правда, я выжидал подольше чем неделю, прежде чем написать в саппорт. После того, как терпение закончилось, написал, и тут же мне ответили и приложение ушло на рассмотрение. Видимо, это закономерность. Посмотрим.

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



    Есть вопросы?

    Сообщить об опечатке

    Текст, который будет отправлен нашим редакторам: