Инструкция по публикации ios-приложения в app store

Содержание

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

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


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

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

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

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

Mobile Roadie

Mobile Roadie — один из старейшин в онлайн-сервисах для создания приложений для  iPhone, Android, iPad и Mobile Web. Особенность Mobile Roadie в том, что он ориентирован, прежде всего, на шоу-бизнес. Он предлагает шаблоны для актёров и музыкантов, режиссёров и продюсеров, а также маркетинговых и PR-агентств, но в принципе набор инструментов позволяет создать приложение и для других типов бизнеса. Среди клиентов — Мадонна, Cirque du Soleil и зоопарк Сан-Диего. Есть шаблон для создания приложения под событие или конференцию, возможность продавать билеты, доступ к статистике. Вообще, функциональный набор очень широк, впрочем, и цена немаленькая:

  • Core — $149 в месяц.
  • Pro- $799 в месяц.
  • Enterprise — $24K 
Сайт Mobile Roadie: http://mobileroadie.com

11. AppMakr

Appmakr  — онлайн-сервис для создания приложений для  iPhone, Android, Windows Phone.

В этом сервисе очень просто и быстро можно создать своё мобильное приложение. Цены более чем демократические. И что характерно, так что во всех пакетах нет рекламы.

  • App Basics- $2 в месяц.
  • App Pro — $12 в месяц.
  • Reseller — $499.
Сайт Appmakr: https://www.appmakr.com/

12. BuildFire

BuildFire  — онлайн-сервис для создания собственных приложений для  iPhone, Android, Windows Phone.

Особенность данного онлайн-сервиса в том, что создание приложений совершенно бесплатно, плата берется когда приложение публикуется в каталогах и составляет $49 ежемесячно.

Сайт BuildFire: http://buildfire.com/

При использовании этого материала «10+ лучших онлайн-сервисов: как создать приложение для Android и iPhone» активная ссылка на http://www.topobzor.com обязательна.

Реализация Grid раскладки на SwiftUI

Что такое Grid Layout?

Разрабатывая интерфейс приложения, мы чаще всего имеем дело именно с двумерным представлением визуальных элементов. Существует множество контролов, призванных стандартизировать и упростить верстку. Если рассматривать концепции веб-разработки, то в качестве наилучшего способа создания двумерных шаблонов интерфейса CSS Working Group в 2017 году предложила Grid Layout. В iOS 13 SDK в наличии у нас имеется возможность располагать элементы линейно VStack, HStack, ZStack, в виде списка: List. Но нет возможности определить семантику расположения элементов в двумерной системе координат. Поэтому мы решили создать его сами. В iOS 14 Apple представила свою реализацию grid, о которой мы расскажем ниже в разделе Apple LazyVGrid/LazyHGrid.

Подготовка маркетинговых материалов

требования стора. Описаны чётко и меняются редко. Изучить их можно здесь; требования, которые возникают из задач проекта: что более актуально для ЦА этого приложения, какой маркетинговый план у проекта и т.д

Иногда важно, как это видит клиент — некоторые клиенты готовы использовать простые скриншоты и несложные тексты, другие постоянно меняют мнение, и с этим нужно работать.

Текст

Требования стора к тексту:

описывайте приложение детально, с вниманием к функциональностям. Максимальный объём — 4000 символов; при использовании названия App Store в заголовках или тексте всегда набирайте App Store с прописными A и S; всегда оставляйте название App Store на английском; перед App Store можно использовать только артикль the; не используйте дополнительные слова в названии, например сочетания iTunes App Store, Apple App Store или iPhone App Store; не применяйте превосходные степени прилагательных («лучший App Store»); не используйте предлог «на» перед App Store

Правильно — «в App Store» («приложение доступно в App Store») или «из App Store» («запустите приложение из App Store»); не используйте термин «загружаемое»; в отношении Apple TV будет правильно сказать «Ищите наше приложение в App Store»; не применяйте для устройств Apple такие общие термины, как «смартфоны» или «планшеты»; используйте их названия; не упоминайте никаких форм спонсорства или поддержке со стороны Apple; не имитируйте типографический стиль Apple, используя шрифт Myriad в своих текстах; в описании не должно упоминаться названий других мобильных платформ; описание должно соответствовать функциональности приложения; названия приложения в iTunes и на рабочем столе устройства должны похожими; описание должно иметь рейтинг 4+ (можно показывать четырёхлетним детям).

Согласование текста с клиентом

Эта статья на Apptractor

Скриншоты

  • «строгая». Берутся основные экраны, которые показывают функциональность приложения;
  • «рекламная». Красивый фон за экраном, говорящие надписи. Потребуется помощь дизайнера.

Количество и размеры скриншотов

  • размеры скриншотов iPhone:
    • 4,7-inch. 1334 × 750 пикселей;
    • 5.5-inch. 1242 х 2208 пикселей;
    • 4-inch. 1136 x 640 пикселей;
    • 3.5-inch. 960 x 640 пикселей.
  • Размеры скриншотов iPad:
    • 1024 x 768 пикселей;
    • 2048 x 1536 пикселей;
    • 768 x 1024 пикселей;
    • 1536 x 2048 пикселей.

Другие требования App Store:

  • скриншоты не должны содержать альфа-канал — информацию о прозрачности изображения. При сохранении конечного варианта отключайте альфа-канал, если решили подготовить изображения в формате PNG;
  • разрешение не более 72 точек на дюйм;
  • схема формирования цвета – RGB;
  • разрешение PNG или JPEG.

Видео для предпросмотра приложения

Советы по созданию видео:

  • делайте видео короткими — от 30 секунд до 2 минут;
  • показывайте самые привлекательные функции приложения;
  • используйте QuickTime для записи видео с экрана iPhone.

Заработок через мобильное приложение на базе iOS

Большинство пользователей предпочитает совершать покупки именно через мобильные приложения, так как это гораздо быстрее и удобнее. Знаете ли Вы о том, что количество пользователей смартфонов мире уже превышает 2 миллиарда? При этом, 78% пользователей предпочитает совершать покупки в магазине через мобильное приложение вместо сайта. Мобильное приложение также показывает более высокий средний чек чем у сайтов и более низкий процент отказов за счет следующих факторов:

  1. Push-уведомления: Короткие всплывающие уведомления не дадут пользователю забыть о вас, регулярно напоминаю о специальных предложениях, акциях и сезонных скидках.
  2. Быстрый заказ: Заказ товара через приложение займет у клиента всего пару кликов, в отличии от сайта, на котором этот процесс может затянется надолго в связи с долгой загрузкой и менее адаптивным дизайном даже в мобильной версии.
  3. Удобная оплата: Не отвлекаясь на внешние факторы пользователю будет гораздо проще совершить покупку и провести оплату. Также на повышение лояльности в данном случае влияет подвязка своих платежных данных в приложении, что избавляет клиента от повторного ввода данных.
  4. Быстрый доступ к приложению: Находясь на начальном экране телефона, пользователь постоянно будет вспоминать о вас при разблокировке устройства. К тому же, ему больше не понадобится искать нужный ему товар в интернете, достаточно будет нажать на иконку вашего приложения, ввести в поиске название необходимого товара и оформить покупку.

Автоматизируем выгрузку на TestFlight

Начнем с задания понятного имени нашему lane’у. Переименуем custom_lane в testflight_lane. Теперь понятно, что результатом выполнения этого скрипта будет загруженная свежая сборка в TestFlight.

Сертификаты и Provision Profiles

Добавим команды cert и sigh для установки сертификатов и provision profiles соответственно: (Внимание: если вашего приложения нет в App Store Connect, то необходимо добавить команду produce с параметром app_name)

Запустим наш скрипт с помощью команды  

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

Теперь сертификат и provision profiles скачены и установлены. Осталось проставить во вкладе General нужного таргета:

Сборка приложения

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

Для работы увеличения номера билда, необходимо зайти в Build Settings/Versioning и выставить Versioning System в Apple Generic и Current Project Version в 1:

Добавим команду gym, которая собирает ipa файл нашего приложения:


Среди параметров можно указать, куда будет положен ipa (output_directory), имя ipa (output_name), scheme (scheme), делать ли Clean (clean) и некоторые другие. Мы ничего не будем указывать в параметрах  —  fastlane выставит параметры по-умолчанию, соберет и подпишет ipa, но опять же: при желании и необходимости всё можно указать подробно:

Выгрузка на TestFlight

Для загрузки ipa в TestFlight будем использовать Pilot:

С помощью Pilot можно:

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

Мы будем использовать основную его функцию: отправка сборок в Apple Store Connect.

Добавим в testflight_lane вызов upload_to_testflight с параметрами skip_submission (будем использовать только для загрузки ipa файла) и skip_waiting_for_build_processing (не дожидаемся окончания processing’a):

Запускаем итоговый скрипт

Сохраняем наши изменения и запускаем из консоли:

На этапе отправки в testflight в консоли потребуется ввести app-specific пароль (который требуется для авторизации в Application Loader). Найти его можно в личном кабинете Apple ID, сгенерировав его по нажатию на «Generate Password»:

После ввода пароля свежая сборка будет успешно загружена в TestFlight и выполнение fastlane на этом закончится:

Статус новой версии можно посмотреть в App Store Connect:

Сертификаты (Certificates)

  • Pending. Запрошенные вами сертификаты, находящиеся в процессе обработки от Apple. Для дев (Development) и прод (Production) сертификатов конкретно в моем случае этот подраздел чаще всего пустует.
  • Development. Дев-сертификаты, обеспечивающие возможность отладки вашего приложения на конкретных девайсах (одном либо нескольких) через Xcode, а также создание дев-сборок «в отладочном режиме». Более подробно поговорим о них чуть ниже.
  • Production. Прод-сертификаты, обеспечивающие работоспособность приложения при тестировании в TestFlight и при публикации в магазине App Store.

Сертификаты типа «Development»

к одной конкретной машине

  • Создать отдельный дев-сертификат конкретно для вашего Mac, скачать и установить его. Плюс понадобится сгенерировать и установить на свой Mac девелоперский профиль на основе этого сертификата, но об этом позже.
  • Либо экспортировать с машины, на которую заведен сертификат, файл *.p12/*.pfx (это можно сделать в связке ключей Apple). Такой файл защищается паролем при экспорте, и, зная этот пароль, информацию о сертификате можно будет импортировать на любом другом Mac. В этом случае отпадает необходимость создавать для каждого Mac отдельные Development-сертификаты и отдельные Development-профили. Небольшая оговорка: профиль хоть и должен быть сгенерирован для той машины, на которую выпущен экспортируемый сертификат, но в этот профиль понадобится добавить UDID вашего устройства прежде, чем выдавать профиль вам для установки, иначе ничего работать не будет.

iOS App DevelopmentAPNs Sandbox

Сертификаты типа «Production»

App Store & Ad Hoc ProductionAPNs Production

  • Выпуск сборок типа App Store. Обеспечивает возможность тестировать приложение в TestFlight, как в режиме внутреннего, так и в режиме внешнего тестирования. Также дает возможность опубликовать приложение в App Store.
  • Выпуск сборок типа Ad Hoc. Термин «Ad Hoc» можно перевести как «специальный», «для конкретной цели». Такой тип сертификации обеспечивает возможность запускать ваше приложение (включая все нужные подсистемы типа APNs) в боевых условиях, но только на конкретных девайсах, и без участия Xcode в процессе запуска. Другими словами, Ad Hoc необходим, если вы захотите поставить ваше приложение на стороннее устройство, не имея к нему прямого доступа (то есть не подсоединяя его проводом к вашему Mac, так как в этом случае вам бы хватило Development-сертификата), но при этом и не выкладывая приложение в iTunes Connect. Такой сертификат используется при создании специального Ad Hoc-профиля, о котором пойдет речь чуть позже.

Общая информация

Разработка приложений для iOS

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

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

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

Frakktus

Для чего: игра, помогающая расслабиться

Поддерживаемые устройства: iPhone, iPad и Apple TV

Разработчик: Alexander Petrov


Стоимость: бесплатно (включает встроенные покупки)

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

Создатель приложения Александр Петров — профессиональный моушен-дизайнер, который всегда интересовался созданием игр. Для создания собственного проекта он накопил финансы и переехал жить в Великий Новгород, чтобы сократить расходы и начать заниматься любимым делом. «Идея Frakktus приобрела конечный вид не сразу. Изначально это была казуальная аркада с еще более простой графикой, но в определенный момент мне захотелось добавить смысловой посыл. Вдохновляющие фразы, всплывающие между уровнями, оказались полезны — я получаю много отзывов о том, как люди начинают снова верить в себя и свою ценность. Это чувство стоит очень дорого. Поэтому я решил сделать игру бесплатной, чтобы как можно больше пользователей могли испробовать ее».

Разработка проекта заняла примерно 2,5 года, во многом из-за того, что Александр решил реализовать проект самостоятельно: начал неспешно изучать игровой движок и не представлял до конца, какой игра должна получиться в итоге.

Александр Петров: «Интерфейсом игры я нарушил все классические каноны. Также я добавил в нее возможность выбора загруженной на устройство музыки и режим отдыха, в котором на весь экран раскрывается цветной калейдоскоп, реагирующий на музыку — своего рода сеанс цветотерапии. Сам игровой процесс достаточно прост: играть можно всего одним пальцем в вертикальной или горизонтальной ориентации экрана».

Continuous Integration

Примечание: описанные далее нюансы использования сервисов как части непрерывной интеграции (continuous integration) в данном обзоре подразумевают, что она будет делаться на основе решения, предлагаемого компание Apple. То есть при помощи Mac OS X Server и Xcode bots — подробно на организации такой интеграции я не буду останавливаться, возможно это станет темой для отдельной статьи. Желающие могут ознакомиться с темой самостоятельно, например, обратившись к официальному руководству от Apple.Оценка: 0/10.Итого суммарная оценка по всем разделам: 15 баллов.Продолжение следует…

AppsBuilder

AppsBuilder — онлайн-редактор, позволяющий  создавать приложения для iOS, Android и Windows Phone. Пользоваться ей очень просто: собственную программу можно собрать из уже готовый частей. Несмотря на то что AppsBuilder старается быть более простым и понятным для неопытных пользователей, в него добавлены и некоторые возможности для программистов: к примеру, можно дополнять созданные приложения собственными Java-скриптами.

Есть три платных пакета, в которых есть везде 30 дней —  бесплатная пробная версия:

  • Starter (49 евро в мес.) -1 приложение.
  • Regular (199 евро в мес.) -до 5 приложений.
  • Scalable (от 249 евро в мес.) — более 5 приложений.
Сайт AppsBuilder: http://www.apps-builder.com

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

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

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

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

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

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

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

Затем XCode подготовит архив для выгрузки в iTunes Connect

На этом экране обратите внимание на те параметры, что мы установили. Нажмите Upload

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

Разработка кросс-платформенных приложений

Как уже говорилось выше, создать приложение для iOS можно с помощью:

  • Python;
  • C;
  • C++;
  • C#;
  • Java.

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


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

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

Примеры кросс-платформенных приложений:

Как заработать на разработке приложений

Есть несколько способов монетизации.

Платное приложение

Самый простой и доходный способ. В 2008 году полностью голое приложение I Am Rich продавалось в AppStore за $1000, и его купили восемь человек, в том числе один — случайно. Приложение, созданное за пять минут, принесло $5600 автору Армину Хейнриху и $2400 компании Apple в виде комиссии.

Стоимость приложений Google Play для российского рынка ограничена диапазоном 15−42 000 российских рублей, то есть от $0,24 до $980 по текущему курсу.

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

Главные драйверы роста — постоянное увеличение времени, которое пользователи проводят в приложениях, и рост количества смартфонов в мире (с нынешних 3,9 до 6,2 млрд в 2020 году).

Загружаемый контент в бесплатном приложении

Поскольку самые доходные приложения — это игры, именно DLC (downloadable content) приносит основной доход многим разработчикам. Часто дополнения для игр (новые уровни, оружие и прочее) распространяются как платный загружаемый контент. Сами игры при этом бесплатные. Это вечная наживка для тех, кто уже увлёкся игрой и хочет продолжать.

Подписка и версия Pro

Как и DLC, подписки и премиальные опции относятся к категории покупок внутри приложения. По статистике, больше всего времени в мобильных приложениях проводит молодёжь 13−24 лет. Однако аудитория 25−44 лет демонстрирует бóльшую вовлечённость. У этой возрастной категории нет проблем с деньгами. Они сильнее привязываются к любимым программам и готовы платить за них. Взять, к примеру, приложения для изучения языков.

Важно!

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

Ещё один нюанс: на пользователей старше 45 лет приходится более 60% расходов домохозяйств в США, но эти люди очень мало тратят на мобильные приложения. Похоже на неосвоенный рынок.

Пожертвования и полулегальные методы

Самый простой вариант — указать свой кошелек Яндекс.Деньги, WebMoney, PayPal или Bitcoin для приема пожертвований. Но практика показывает, что это почти никогда не работает, если не считать криптолокеров (программ-вымогателей). Приложение должно стоить доната, а выгода от использования — очевидна.

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

Проконсультируйтесь с юристом, чтобы оферта не противоречила законодательству страны и правилам Google Play. Как вариант, можно поделить доходы с самим пользователем. В этом случае следует явно объяснить ему модель монетизации.

Программы-вымогатели и банковские трояны никак не могут быть легальными, независимо от пользовательского соглашения. А вот рассылка спама приносит доход, и её можно организовать легально: везде есть нюансы.

Геймификация

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

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


С этим читают