Добавить свое приложение в app store. Как загрузить приложение в Google Play. Возможные проблемы и пути их решения

15.05.2019

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Выберите New Folder

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Введите Apple ID

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    И в результате, глядя на то, как расстреливают новехонький iPad Air сначала из Air Gun (неплохой каламбур, не правда ли?), а затем — из винтовки.50-го калибра, и все это в супер-low motion

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

    В этой заметке я не буду приводить детальной инструкции, как разместить приложение в app store — это уже сто раз описано, поэтому приведу общие шаги, и ссылки на самые хорошие статьи по этому поводу. А также немного расскажу, с каким геморроем столкнулись мы.

    Итак, если вы решили встать на тропу написания и размещения приложения в Appstore, прежде всего необходимо отметить, что Apple берет деньги с разработчика за все. Хочешь размещать приложения — плати за аккаунт по 100 баксов в год. Хочешь продавать приложения — комиссия Apple составит от 30 до 40% от стоимости приложения — тебе в лучшем случае 70 достанется (честное слово — уж даже ФНС от оборота слегка меньше хочет). Хочешь продавать цифровой контент внутри приложения — фиг, опять таки — плати 30%, и продавай через appstore.

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

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

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

    И вот тут-то разработчиков ожидает основная засада. Эппл — рассматривает приложения по две недели, прежде чем допускает их к публикации. Но — даже если они не найдут критичных для них багов, мешающих размещению, то заказчики приложения, уже после публикации, тщательно протестировав мобильное приложение на трех-четырех девайсах — получив статистику с нескольких сотен устройств — могут найти там вполне критичные для себя, а иногда — и для клиентов баги (пусть даже и далеко не для всех). Да, поправить их быстро — но рассмотрение новой версии — приравнивается к рассмотрению самой первой версии. Иными словами — две недели вы будете вынуждены жить с багами, которые, возможно, вашим клиентам и пользователям заметны не будут — но вы-то — ощутите их в полной мере, особенно если приложение общается с вашим сервером. Ну не выложишь ее сразу на свой сервер для скачивания, как тот же самый WordPress 3.7.1, вышедший с исправлением багов — при всем желании. Собственно — так с нами и произошло.

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




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

    Откройте проект вашего приложения в XCode, перейдите к настройкам проекта. Необходимо, чтобы Bundle Identifier совпадал с BundleID, который вы указали при создании App ID. Также необходимо отключить функцию автоматического управления подписыванием в 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. Теперь она англоязычная))

    Похожие статьи