Как загрузить приложение в App Store: этапы и важные аспекты. Что нужно знать для публикации приложения в App Store или Google Play

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

Приложение нужно будет отправить в цифровые магазины App Store и Google Play. Но как это сделать с наименьшими потерями времени, нервов, кофе и табачных изделий? К примеру, редакция App Store может отклонять ваше приложение раз за разом - история насчитывает и 6, и 10, и 12 отказов. Каковы же правильные шаги подачи приложения в магазин? Давайте разберёмся.

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

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

Как загрузить приложение в App Store

Итак, для начала необходимо зарегистрировать аккаунт разработчика в магазине. В App Store это происходит следующим образом:

  1. Нужно перейти по ссылке: https://developer.apple.com/register/ .
  2. Войти с существующим AppleID или создать новый.
  3. Если увидите сообщение "You"ve already agreed to the Apple Developer Agreement", перейдите в свой aккаунт .
  4. Внизу страницы выберите "Join the Apple Developer Program ".
  5. Затем нажмите "Enroll" и "Start new enrollment".
  6. Выберите Entity Type (обратите внимание - Enterprise не подходит).
  7. Заполните все формы, подтвердите соглашение и оплатите пользовательский взнос в $99;
  8. После того, как ваш профиль готов, добавьте один из ваших Apple ID в качестве разработчика и как минимум один из них как администратора через "Пользователи и роли" в профиле iTunes connect.

Как загрузить приложение в Google Play

В Google Play всё несколько проще:

  1. Посетите Консоль Разработчика Google Play .
  2. Введите базовую информацию о себе - имя, email и так далее. Эти данные можно изменить позже.
  3. Прочтите и примите соглашение Google Play о распространении программных продуктов в вашей стране/регионе.
  4. Обратите внимание, что приложения, которые вы публикуете в Google Play должны соблюдать правила из Центра Правил Разработчиков и законы США на экспорт.
  5. Оплатите регистрацию в $25 при помощи Google платежей. Если у вас нет аккаунта Google платежей, его можно будет быстро создать в процессе регистрации.
  6. В конце вы получите письмо с уведомлением о подтверждении регистрации на email, который вы указали в начале.

Тестирование

Тестирование iOS-приложений

В App Store его можно осуществить несколькими способами: через сервис Apple - TestFlight, или через сторонние diawi.com, hockeyapp.net, testfairy.com и другие. Последние могут показаться проще, но по факту не облегчают жизнь разработчикам. Сам процесс тестирования может осуществляться двумя способами:

  • Установив приложение непосредственно на устройство с компьютера разработчика через провод. Этот метод идеален для тестировщика, но абсолютно не работает для заказчика. Также он не подходит, если разработчик и тестировщик работают в разных офисах.
  • Собственно через TestFlight. Для этого нужно загрузить приложение в ItunesConnect.

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

Если это новый тестировщик, которого не добавили раньше, то нужно зайти в раздел "Users and roles" и там добавить его AppleID. После того как этот пользователь получит приглашение и подтвердит его, нужно будет добавить его в "тестировщики приложения" на всё той же вкладке TestFlight. Не забывайте нажимать "Save".

Всем тестировщикам нужно будет скачать из App Store приложение "TestFlight" и войти с тем AppleID, который указан в "тестировщиках приложения". Теперь все тестировщики будут получать уведомление по почте и в приложении TestFlight о новых билдах.

Тестирование бывает как внутренним (доступ только 25ти пользователям), так и публичным (до 1000). В случае внешнего тестирования придётся пройти расширенный обзор (review), как при публикации в App Store.

Отправка в App Store происходит только после полного заполнения профиля, добавления описания, скриншотов и прочей необходимой информации. Обратите внимание, что после отправки ничего нельзя изменить.

После отправки приложения на обзор, нужно подождать от двух дней до недели (в некоторых случаях, особенно перед Рождеством, может затянуться на две, а то и на все три недели). Обратите внимание, что сотрудники Apple не работают в выходные и в конце декабря. Так что в указанный период приложения на обзор лучше не отправлять.

Тестирование Android приложений

Что касается тестирования Android-приложений, его также можно осуществлять несколькими способами.

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

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

Можно проводить тестирование и через сам Google Play. Оно тоже бывает как внутренним (доступ только указанным пользователям), так и публичным (доступ по ссылке). В обоих случаях приложение можно скачать без особых сложностей как в Apple App Store. Но для этого приложение нужно подписать.

Как и в App Store, отправка в Play Market происходит только после полного заполнения профиля, добавления описания, скриншотов и остальной необходимой информации. После отправки так же ничего менять нельзя. Затем нужно подождать 1-2 дня, после чего приложение автоматически опубликуется в Play Market.

Сертификаты

Подписывать приложение нужно и перед отправкой на обзор в Play Market. Это можно сделать в самом начале или в конце, главное - до отправки на обзор. От заказчика нужны следующие данные: Keystore Password, Alias, Key password, First & Last Name, Organizational Unit, Organization, City, State, Country.

Затем разработчики сгенерируют сертификат (обычно на 25 лет). Сертификат нужно выслать заказчику и обязательно! предупредить, что перегенерировать его нельзя. Ни в коем случае! Он нужен для будущих обновлений приложения. Если он потеряется, то придётся релизиться заново. Почтой сертификат не стоит слать из-за соображений безопасности.

В App Store разработчик с правами администратора сможет самостоятельно сгенерировать и установить все необходимые сертификаты через XCode. Этот процесс займёт несколько часов. Поскольку заказчик является владельцем приложения, то и в App Store, и в Google Play он будет виден как developer. Аккаунт разработчика в App Store стоит $99 долларов в год, в Google Play - $25 долларов в год. Отправить приложение в магазины можно лишь имея аккаунт разработчика.

В печать!

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

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

Перспективы создания и публикации приложений для iOS

Как бы молодые разработчики ни тешили себя надеждами, приятного на рынке приложений мало. Из множества проектов, популярными становятся далеко не многие. Одна незаурядная американская компания Эпп Промо провела маркетинговое исследование и получила вот такие результаты: большинство опрошенных создателей приложений заявили, что 60% игр вообще не приносят деньги, а 82% говорят, что этим делом они себя прокормить не могут. Следовательно, им приходится работать где-то ещё.

Компания Apple заявляет, что их площадка - хорошее место для подобного рода заработка, но по факту дела обстоят иначе. Для того, чтобы зарабатывать деньги (ну, или хотя бы не уходить в минус), нужно попасть в Топ-100 или Топ-200. Другие разработчики объясняют это явление тем, что людям будет просто лень пролистывать далеко вниз для того, чтобы найти предложенный вами продукт. Если вас не напугало вышеописанное и вы все равно хотите создать своё приложение - идём дальше.

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

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

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

Создаём приложение в Xcode

  1. Как создать новый проект. Открываем приложение. Далее выбираем меню «файл» и нажимаем на «создать новый файл». Нажимаем на приложение (application) под «ios» слева в окне. Переходим в раздел шаблонов. Нажимаем на пустое приложение (Empty Application).

    В интерфейсе программы выбираем «Single new application»

    2. Создание сториборда. Storyboard отвечает за отображение экранов приложения в вашей программе. Сториборды отображают то, что находится на каждом отдельном окне, и показывают их взаимодействие. Эта штука даёт возможность хорошо проработать вашу игру. Далее делаем следующее: Выбираем Файл, затем New, затем Файл. Далее нажимаем на «User Interface». Кликаем на сториборд, выбираем «next». В меню устройств нужно выбрать устройство, для которого предназначена ваша программа. В моём случае - I phone. Называем объект «Main».

    В Storyboard выбираем устройство

    3. Назначаем сториборд к вашему проекту. Теперь назначаем сториборд в качестве главного интерфейса нашей программы. Если все сделать правильно, сториборд будет доступен сразу, когда мы запустим нашу программу. Вот, как нужно действовать: выбираем имя своего файла во вкладке слева, нажимаем targets и выбираем свой проект из этого заголовка. Перейдите в меню «Generals» и выберите «Deployments Infos». В Main Interface вводим Main.Storyboard и переходим к следующему шагу.

    Вводим «Main.storyboard»

    4. Добавляем первый экран. Для этого нам понадобится контроллер вида. С помощью них мы сможем сгенерировать приблизительный вид приложения. Изначально можно изучить контроллеры вида и выбрать их из нескольких пресетов. Если вдруг вы в этом деле чайник, то лучше, конечно, выбрать из существующих. Таким образом, мы увидим, как будет выглядеть приложение в руках у обычного юзера. Выбираем «Mains Storyboards». Находим Object Library. Внизу правой части можно этот самый Object Library выбрать. Справа вы увидите появившееся окошко, которое именуется холстом. Перетаскиваем туда «Views Controller». Когда пользователь запустит приложение, он увидит загрузочное окошко. Поздравляем!

    В панели контроллера вида добавляем первый экран

    5. Добавляем объекты на наш экран. После выбора контроллера вида, вы можете добавлять объекты в ваше приложение. Их можно найти во все том же Object Library. Эту библиотеку можно найти внутри контроллера вида.

    Затем добавляем на наш экран объекты интерфейса

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

    Создаём индивидуальный интерфейс и измененяем свойства объектов

    7. Добавление дополнительных экранов. Ваше приложение не может состоять из одного экрана - в этом просто нет смысла. Поэтому вам понадобится создавать их самостоятельно. Делается это предельно просто - контроллер вида на пустую часть экрана.

    Перетаскиваем контроллер вида на пустую часть холста

    8. Активируем «Navigation Controller». Эту фичу мы будем использовать для перемещения между несколькими окошками. Достигается с помощью Navigation Controller. Navigation Bar добавляется вверху программы. Запомните, Navigation Controller добавляется строго к начальному экрану для контроля за перемещением по всем остальным окнам. Для этого выбираем загрузочный экран. Нажимаем на editor, затем на Embed In, затем тыкаем на Navigation controller. После проделанных шагов появляется навигационная панель.

    Добавляемпо инструкции панель навигации

    9. Добавляем функциональность Navigation Controller. Когда меню навигации было создано, к нему необходимо добавить инструменты. С помощью этой фичи пользователь сможет «переезжать» по приложению из одного места в другое. Мы предлагаем добавить стандартный функционал. Добавьте заголовок (для этого нужно открыть пункт Navigation Item, а затем Attributes Inspector, после чего вводим заголовок), Navigation button и обеспечиваем кнопкам свойства.

    Добавление функционала на панели

    10. Связываем экран с кнопкой. Для связывания кнопок нажимаем ctrl, а затем перетаскиваем их её на следующий экран. Вскоре вылезет пункт Action Segue с доступными опциями. Выбираем «Push» для перемещения по окошкам.

    Связывание кнопки с экраном

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

    Пора приступать к изучению языка программирования

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


Как опубликовать


Возможные проблемы и пути их решения

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

Не забывайте следить за продажами. Сделать это можно с помощью Itunes Connect Mobile. Компания Apple будет периодически присылать вам уведомления с аналитикой продаж, но следить самостоятельно лишним не будет. Успехов вам и больших продаж!

Опишем на будущее хинты по выкладыванию своих программ в магазин приложений 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. Теперь она англоязычная))

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

Вместо этого мы поделимся нашим опытом проникновения в 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.
Успешных вам регистраций!

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

1. Сертификаты, необходимые для публикации в AppStore

Первым делом создаем идентификатор App ID .

Имя сертификата вписываете любое, ID - это Bundle identifier , его вы указываете заранее в проекте Xcode и потом при создании идентификатора.

Вторым шагом будет создание сертификата дистрибьютора - iOS Distribution . В нем то мы и выбираем тот самый идентификатор App ID



Для загрузки всего этого добра в Xcode, есть 2 способа - «ручной и автоматический», для меня проще второй вариант. Для этого, заходим Xcode -> Preferences -> Account , выбираем свой аккаунт разработчика и нажимаем View Details и в появившемся окошке Downloads All .

Но и это еще не все. Открываем Build Settings вашего проекта и выбираем свои добавленные в Xcode сертификаты iOS Development и iOS Distribution

Для приложения проделываем тоже самое.

2. Отправка своего приложения в iTunes Connect

Какое имя проекта вы выбираете при создании? Уверен, в большинстве случаев это «test1» или «MyFirstProga». Так вот, что бы не попасть в такую ситуацию, в которую попал я, необходимо изменить название проекта, иначе вы не пройдете проверку или у ваших пользователей в iOS будет показываться название «MyFirstCoolProga» (в моем же случае не так все плохо, конечно). Для этого вписываем правильное название вот сюда:

А в появившемся окошке, жмем Rename

Теперь можно приступить к отправке. Компилируем проект Product -> Run , отправляем сборку в архив Product -> Archive . Если случайно закрыли окно, его можно вызвать так Window - Organizer . В архиве будут показаны все ваши версии и сборки.

Выбираем вашу сборку, которую хотите отправить в iTunes Connect и нажимаете Validate . В появившемся окне выбираем кем утвердить и жмем Choose .

После этого появится еще пару окон, в первом жмем Validate , а во втором Done . Так же во втором окне вам могут рассказать о том, что в проекте есть «Предупреждения».

И самое главное, отправка в iTunes Connect. Тут все просто, жмем Upload to App Store , а дальнейшие действия идентичны Validate
Заходим в iTunes Connect, выбираем приложение (или создаем, если еще нет), переходим в нужную версию (или добавляем), если вы делаете это первый раз, то версия будет 1.0. Рядом с Сборка будет «+ », жмем, открывается окно с вашей загруженной сборкой. Правда выбрать сразу не получиться, она в течении часа проходит предварительную проверку.

3. Настраиваем iTunes Connect для платного приложения

С iTunes Connect в принципе вопросов не возникло, кроме одно. Как я писал ранее, когда платное приложение проходит проверку, оно переходит в состояние «Ожидание договора». Что делать?
В iTunes Connect заходим в раздел «Соглашения, налоги и банковские операции», на против обоих контрактов (Paid и iAd) жмем запросить Request. После, вам будет доступна настройка Contact info, Bank info, Tax info.

Contact info

Добавляете контакт, и выбираете его для каждой роли.

Bank info

Насчет способа вывода средств я даже не думал, поэтому не был готов к такому повороту событий. Для статуса приложения «Готов к продаже» все же необходимо заполнить всю информацию. Но мне подфартило, к счастью, я не выбросил распечатку реквизитов моего счета и банка (Сбербанк). В моем случае это было так: открываю Bank info , нажимаю Add Bank Account , выбираю Russia , ввожу БИК банка в Bank Identification Code . После чего предлагают заполнить данные (номер счета, ИНН банка, ФИО, кор. счет и т.д.), все заполняю, готово! Это можно назвать вариантом «на первое время», что бы запустить приложение в AppStore. Реквизиты легко получить в банкоматах, для этого нужна карта привязанная к счету. А в дальнейшем конечно стоит открыть долларовый счет в банке, у которого нет % за перевод в Россию. Данные вопросом особо не задавался, но сети рекомендуют ВТБ24, Альфабанк, Банк24.

Tax info

Если вы:

  • Разработчик из России
  • Собираетесь зарабатывать на авторских гонорарах (продажа приложений), а этим может заниматься физическое лицо, без всяких ИП (правда платить 13% с таких гонораров)
  • Не являетесь резидентом США
  • Не имеете бизнес в США
то, дальше для вас.

В таком случае все настраивается просто. Открываем Tax info , жмем по Set Up под U.S. Tax Forms (т.к. у меня уже заполнено, то показывается кнопка View ).

Заполняем по примеру:


Подтверждаем и ждем, скоро ваше приложение появится в AppStore.

На этом всё. Спасибо за внимание!

Статьи по теме: