Статьи

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

Вы работали над своим первым приложением для iOS недели или месяцы и готовы представить свой шедевр в Apple App Store. Как ты это делаешь? Готова ли ваша заявка к подаче? Я уверен, что некоторые из этих вопросов приходили вам на ум в тот или иной момент.

Является ли отправка приложения такой же простой, как отправка Apple двоичного файла вашего приложения? Не совсем. В этом руководстве я предоставлю вам подробную карту для отправки вашего приложения в Apple App Store.

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

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

В этой статье я предполагаю, что вы являетесь зарегистрированным разработчиком iOS, что означает, что вы зарегистрированы в программе Apple для разработчиков iOS и имеете право подавать заявки для публикации в App Store. Чтобы отправить приложение iOS в App Store, вам нужно быть зарегистрированным разработчиком iOS. Красный флаг? Не беспокойся Вы можете зарегистрироваться в программе Apple для разработчиков iOS, посетив страницу Apple Developer и нажав кнопку « Зарегистрироваться» .

Регистрация в Программе Разработчика iOS для Apple

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

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

Семейство iOS-устройств значительно выросло за последние годы, и важно протестировать ваше приложение на таком количестве iOS-устройств, на которое вы можете положиться. Общие проблемы включают в себя не оптимизацию приложения для определенных размеров экрана. IOS Simulator — отличный инструмент, но он работает на вашем Mac, который имеет больше памяти и вычислительной мощности, чем телефон в вашем кармане.

Процесс обзора Apple не герметичен, но он способен выявлять проблемы, которые могут повлиять на работу вашего приложения. Если ваше приложение время от времени дает сбой или оно замедляется после десяти минут использования, то вам нужно проделать определенную работу, прежде чем отправлять его в App Store.

Даже если команда Apple не обнаружит проблему, ваши пользователи узнают об этом. Если люди, использующие ваше приложение, не удовлетворены, они оставят плохие отзывы в App Store, которые могут повредить продажам или помешать загрузке.

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

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

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

Ваше приложение:

  • не должен разбиться
  • не следует использовать частные API
  • не должен дублировать функциональность нативных приложений
  • следует использовать In App Purchase для внутренних (финансовых) транзакций
  • не следует использовать камеру или микрофон без ведома пользователя
  • следует использовать только те произведения, которые являются вашими авторскими правами или имеют разрешение на использование

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

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


Прежде чем вы сможете начать думать о подаче заявки в App Store, вам необходимо убедиться, что у вас есть идентификатор приложения, действительный сертификат распространения и действительный профиль обеспечения. Позвольте мне показать вам, что это влечет за собой.

Каждому приложению нужен идентификатор приложения или идентификатор приложения. Существует два типа идентификаторов приложений: явный идентификатор приложения и идентификатор приложения с подстановочными знаками . Подстановочный идентификатор приложения можно использовать для создания и установки нескольких приложений. Несмотря на удобство подстановочного идентификатора приложения, требуется явный идентификатор приложения, если ваше приложение использует iCloud или использует другие функции iOS, такие как Game Center, Apple Push Notifications или In App Purchase.

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

Чтобы отправить приложение в App Store, необходимо создать профиль для iOS для распространения. Чтобы создать такой профиль обеспечения, сначала необходимо создать сертификат распространения. Процесс создания сертификата распространения очень похож на создание сертификата разработки. Если вы проверили свое приложение на физическом устройстве, то вы, вероятно, уже знакомы с созданием сертификата разработки.

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

После того как вы создали идентификатор приложения и сертификат распространения, вы можете создать профиль обеспечения iOS для распространения приложения через App Store.

Помните, что вы не можете использовать тот же профиль обеспечения, который вы используете для специального распространения. Вам нужно создать отдельный профиль обеспечения для распространения в App Store. Если вы используете идентификатор проекта с подстановочными знаками для своего проекта, вы можете использовать один и тот же профиль обеспечения для нескольких приложений.

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

Настройка параметров сборки Targets

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

Полезно немного подумать о цели развертывания вашего приложения. У каждой цели в проекте XCode есть цель развертывания, которая указывает минимальную версию операционной системы, на которой может работать приложение.

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

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

У меня есть два очень простых совета относительно цели развертывания вашего приложения:

  1. Будьте очень осторожны, когда решите увеличить цель развертывания существующего приложения. Упомяните это в примечаниях к выпуску приложения об обновлениях, предшествующих изменению, и снова в обновлении, которое использует новую цель развертывания. Если вы заранее предупредите своих клиентов, вы сделали все возможное, чтобы предотвратить возможные проблемы.
  2. Для новых приложений я почти всегда устанавливаю цель развертывания для последней основной версии.

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

Размер изображения (px)

Имя файла

Используется для

Магазин приложений

Для этого случая

512×512

iTunesArtwork

Список приложений в iTunes

Не включать

Необязательно, но рекомендуется

1024×1024

iTunesArtwork @ 2x

Список приложений в iTunes для устройств с дисплеем Retina

Не включать

Необязательно, но рекомендуется

120×120

Icon-60@2x.png

Домашний экран на iPhone / iPod Touch с дисплеем сетчатки

необходимые

необходимые

180×180

Icon-60@3x.png

Домашний экран на iPhone с дисплеем Retina HD

Необязательно, но рекомендуется

Необязательно, но рекомендуется

76×76

Icon-76.png

Главный экран на iPad

необходимые

необходимые

152×152

Icon-76@2x.png

Домашний экран на iPad с дисплеем Retina

Необязательно, но рекомендуется

Необязательно, но рекомендуется

167×167

Icon-83.5@2x.png

Главный экран на iPad Pro

Необязательно, но рекомендуется

Необязательно, но рекомендуется

40х40

Icon-Small-40.png

Прожектор

Необязательно, но рекомендуется

Необязательно, но рекомендуется

80×80

Icon-Small-40@2x.png

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

Необязательно, но рекомендуется

Необязательно, но рекомендуется

120×120

Icon-Small-40@3x.png

Прожектор на устройствах с дисплеем Retina HD

Необязательно, но рекомендуется

Необязательно, но рекомендуется

29×29

Icon-small.png

настройки

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

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

58×58

Icon-Small@2x.png

Настройки на устройствах с дисплеем Retina

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

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

87×87

Icon-Small@3x.png

Настройки на устройствах с Retina HD дисплеем

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

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

Само собой разумеется, что вам не нужно включать значок приложения для семейства устройств iPad / iPad Mini, если ваше приложение предназначено только для семейства устройств iPhone / iPod Touch, и наоборот.

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

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

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

Прежде чем подавать заявку, желательно иметь под рукой метаданные приложения. Это включает:

  • название вашего приложения
  • номер версии
  • первичная (и необязательная вторичная) категория
  • краткое описание
  • ключевые слова
  • URL поддержки

Если вы отправляете обновление, вы также можете предоставить информацию для раздела « Что нового в этой версии ».

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


Процесс представления стал намного легче в эти дни. Теперь вы можете проверить и отправить заявку, например, с помощью Xcode. Однако сначала вам нужно создать приложение в iTunes Connect.

Посетите iTunes Connect , войдите в свою учетную запись разработчика iOS и нажмите « Управление приложениями» справа. Нажмите « Добавить новое приложение» в левом верхнем углу, выберите « Приложение iOS» и заполните форму.

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

Номер SKU — это уникальная строка, идентифицирующая ваше приложение. Я обычно использую идентификатор пакета приложения.

Последняя информация — это Bundle ID вашего приложения. Это означает, что вы выбираете (подстановочный или явный) идентификатор приложения, который вы создали ранее, из выпадающего меню.

Указание имени, номера артикула и идентификатора пакета

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

Информация, которую вы вводите на этом этапе, может быть изменена, как только ваше приложение будет доступно в App Store. Другими словами, вы можете изменить цену и доступность приложения, не отправляя обновление. Это легко сделать, выбрав вкладку « Цены и доступность » в левой части страницы iTunes Connect вашего приложения.

Указание цены и доступности

Мы уже рассмотрели метаданные приложения. Единственный аспект, о котором я еще не говорил, это рейтинг вашего приложения. В зависимости от содержимого и функциональности вашего приложения ему присваивается рейтинг. Этот рейтинг полезен не только для информирования пользователей о содержимом и функциях вашего приложения, но и в операционной системе для функций родительского контроля.

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

Ввод метаданных ваших приложений и присвоение рейтинга

Чтобы отправить ваше приложение, вам нужно создать архив . Вы можете создать архив, только создав свое приложение на обычном устройстве . Если вы выберете iOS Simulator в активной схеме, вы заметите, что опция Archive в меню Product Xcode недоступна. Подключите устройство iOS к вашему Mac, выберите его в активной схеме и выберите Архив в меню продукта Xcode.

Загрузка бинарного приложения

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

Выберите архив из списка и нажмите кнопку « Загрузить в App Store …» справа. Затем двоичный файл приложения загружается на серверы Apple.

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

Отправьте заявку в iOS App Store
Подготовка архива
Отображается ошибка, если проверка не пройдена

Если процесс отправки прошел без проблем, статус вашего приложения изменится на « Ожидание проверки» . Apple рассматривает ваше приложение в течение нескольких дней, а время, которое требуется, может колебаться с течением времени.

Удачи!

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

Если вы хотите узнать больше о разработке Swift и iOS, ознакомьтесь с некоторыми из наших углубленных курсов здесь, в Envato Tuts +.

  • IOS
    Идите дальше со Swift: анимация, работа в сети и пользовательские элементы управления
    Маркус Мюльбергер
  • стриж
    Запрограммируйте игру с боковой прокруткой с помощью Swift и SpriteKit
    Дерек Дженсен
  • стриж
    Создавайте приложения для iOS с помощью Swift
    Маркус Мюльбергер