
ДНЕВНИКИ РАЗРАБОТЧИКОВ: Как НЕ запускать новое приложение…
Существует несколько распространенных заблуждений о создании приложений. Два основных, на которые я наткнулся, включают следующее: а) их не так дорого создавать и б) их довольно легко разместить в магазине приложений. . Я рассмотрю неправильное представление А в следующем посте, а сейчас я хотел бы поделиться далеко не простым первым опытом отправки ScoreLord Tennis, моего первого приложения, в AppStore. Это представление будет сделано в форме дневника.
Я также подготовил несколько интересных сведений о процессе отправки здесь, если вы жаждете более зрелого описания. Здесь я рассказываю, кто рецензировал приложение, как быстро они это делали и как Apple могла бы улучшить процесс рецензирования.
Здесь я буду по-детски документировать все, что пошло не так, каждый божий день…
Надеюсь, вы, как читатель, вынесете из этого что-то ценное, будь то 1) избегание этих глупых ошибок, 2) учет дополнительного времени для решения проблем или, по крайней мере, 3) наслаждение старым добрым смехом. за мой счет.
«Если вы сможете пережить выпуск приложения, вы сможете пережить что угодно», Андреас Камбанис, 2016 г.
Один из моих близких друзей сказал это ранее в этом году. Я тогда посмеялся и отмахнулся. Теперь я могу полностью сопереживать этому. Читая о кошмаре, который был моей первой заявкой на AppStore, вы тоже можете…
30 августа
- 08:15 — вторник, 30 августа, был днем отправки, и это был продуктивный день, проведенный в Xcode, раннее начало (для разработчика). Однако в последнюю минуту было гораздо больше правок и изменений кода, чем я ожидал, и поэтому и я, и мой верный старший разработчик провели довольно долгий день перед нашими экранами. Это все хорошо, сегодня был последний день 12 месяцев разработки, по крайней мере, так я сказал себе…
- Никто не любит финики, даже в виде сушеных продуктов. Ну, по крайней мере, разработчики ненавидят даты. Любой, кто когда-либо занимался кодированием, оценит, что даты — это огромная головная боль пчелы. Локализация их для каждого пользователя может быть долгим процессом. Да, это отстой.
- 20:15 — Когда я был почти готов отправить заявку, меня поразило, что мы не локализовали даты в приложении для приглашений на теннисные матчи (не большая проблема для пользователей из Великобритании и Европы, но, конечно, для пользователей в США). Игроки, находящиеся всего в нескольких милях друг от друга, могли сидеть в разных часовых поясах и видеть приглашения для разных часовых поясов — о, это нужно исправить! Я подозреваю, что у многих из вас, разработчиков, были похожие моменты с Гомером Симпсоном в ранние годы, и теперь они могут относиться к той цитате, которую мы видели ранее.
- 23.15 — Исправлена проблема с датой и сгенерированными сертификатами распространения (тоже болезненный процесс). Затем, пока я создавал архив (который вы загружаете в AppStore в виде файла .ipa), я дал своему опытному ветерану-разработчику зеленый свет, чтобы отправиться спать. У меня было это прикрыто, я сказал ему, я просто должен нажать загрузить. Или я так думал…
НЕ ИСПОЛЬЗУЙТЕ БЕТА ОПЕРАЦИОННЫХ СИСТЕМ
- 01:00 — Вскоре после отправки мне сразу сообщили, что моя сборка несовместима и что, запустив бета-версию Mac Sierra с небета-версией Xcode 7, я не смог опубликовать свое приложение в AppStore. . Неистово гуглил, чтобы найти лучшее решение…
- 01:30 — Найдено «лучшее» решение, которое повлекло за собой изменение файла SystemVersion.plist и представление более ранней версии. Не идеально, но лучше, чем пересборка ОС. Сейчас.
- 02:00 — Заблокировал мой компьютер, перезапустив его, когда я не должен был этого делать, что сделало все мои приложения Mac бесполезными и несовместимыми, включая TextEdit и, что более важно, Терминал, который был необходим для обратного изменения файла. Мой компьютер плакал внутри, как и я. Последовала паника. Я был так близок к приступу паники…
- 03:30 — Нашел способ перейти в однопользовательский режим при загрузке моего Macbook, чтобы изменить файл Plist. Перезагрузил и вернулся на круги своя. 2 часа, все еще нервный срыв, нулевой прогресс, но ноль потерянных.
- 04:00 — К этому времени мне удалось эффективно внести изменения, и теперь я ждал загрузки 4 ГБ Xcode 8, чтобы я мог загрузить его с помощью загрузчика приложений. Недурно за медленный интернет!
- 07:00 — После успешной установки и повторного архивирования сборки я смог отправить свою вторую небета-версию в AppStore, но меня встретило еще одно сообщение об ошибке. Я забыл изменить номер сборки моей предыдущей сборки. Д'О, снова! Несмотря на то, что предыдущая сборка была автоматически отклонена, она все же перехватила и зарегистрировала ее в iTunes Connect, поэтому потребовалась новая ссылка. Вскоре я повторил предыдущий 60-минутный процесс еще раз, установив номер сборки на «2» вместо «1».
- 09:15 — Каким-то образом во время этого повторного запуска сборка изменилась на «Универсальную», и меня встретила еще одна проблема… отсутствующие значки приложений — для iPad. Я даже не поддерживал iPad и никогда не поддерживал, но, быстро изменив сборку обратно на «iPhone»… мой мозг подвергся еще 60-минутной борьбе за то, чтобы не заснуть.
- 10.45, 31 августа — НАКОНЕЦ-ТО загружено и отправлено. Теперь все ясно, верно!?
Урок №1. Никогда не устанавливайте бета-версию ОС на свой основной Mac или компьютер. Это просто не стоит боли! Нет, если только вы не слишком любите бессонную ночь… #noob
31 августа (все тот же день, но как будто новый)
- 11.15 — Наконец-то заснул.
- 13:00 — Быстро проснулся с чувством облегчения, а также с вопросом «что мне теперь делать?» синдром. Я направился, чтобы увидеть и развлечь своего племянника на несколько часов, находясь в энергичном («я чувствую, что спал 10 часов») режиме.
- 18.00 — Вечерняя забастовка и 13 часов чистого, чистого, непрерывного сна. Блаженство!
Урок № 2. Для своей первой отправки постарайтесь составить список дел на день, а не навязывать себе «синдром освежающей гиперактивности F5» (FRHD), ожидая, что статус вашей отправки изменится. Сопровождаемый 8-месячным ужасом во второй половине дня — это все, что мне было нужно, чтобы освободить свой разум от этого безумия.
1 сентября
- 13:30 — Увидев, что приложение находится в состоянии «Ожидает проверки», я заметил, что Apple получает доступ к приложению и тестирует его в Купертино, создает новую учетную запись и взаимодействует со совпадениями. Это было видно с помощью решения Analytics, которое я интегрировал как часть своего проекта. Интересно видеть, что, честно говоря, я ожидал, что они начнут тестирование, пока приложение было «на рассмотрении».
- 18:22 — приложение официально попадает в раздел «На рассмотрении» — это было быстро!
- Мысли были о том, что, может быть, я смогу выпустить его на этой неделе, в конце концов. Так что я лучше сказать всем ... завтра будет день!
Урок № 3: ОШИБКА. Не надейтесь на успех при первой отправке… и, конечно же, не смущайтесь, говоря, что ваше приложение будет доступно на следующий день, когда оно все еще находится на рассмотрении. Я уверен, что многие люди были сбиты с толку, когда они не смогли найти мое приложение в магазине на следующее утро после прочтения моего электронного письма. #EmailОшибка
2 сентября
- 05:50 — Получил уведомление, которое каждый из нас боится «Приложение отклонено». Причина в том, что я запрашивал личные идентифицируемые данные как обязательные. По-видимому, личные идентифицируемые данные не могут считаться таковыми, особенно если они считаются неуместными. Я чувствовал, что это уместно в данном случае, будучи спортивным социальным приложением, стремящимся объединить похожих игроков одинакового возраста и пола. Поэтому я составил вежливый ответ на этот счет.
- 09:30 — Позже отправлено письмо с разъяснениями, в котором подробно объясняется, почему дата рождения и пол являются обязательными полями при регистрации, повторяется зависимость от сопряжения с ближайшими игроками, а также то, что пользователи могут полностью обойти процесс регистрации (и получить доступ к ограниченным частям приложения), если они желают.
- 10:30 — Затем последовало второе письмо со скриншотами, показывающими десятки примеров в категории «социальный спорт», которые требуют аналогичной информации при регистрации. В предыдущие несколько недель я мог видеть, что примеры других приложений, которые я предоставил, показали, что они недавно прошли одобрение без каких-либо проблем.
- Тем не менее, я решил стиснуть зубы и решить эту проблему. Я полагал, что мои шансы заставить кого-то из Apple признать свою неправоту были довольно малы. Поэтому я воспользовался возможностью, чтобы исправить некоторые другие ошибки, связанные с производительностью, которые я заметил, и сделал поле «Дата рождения» необязательным. Бум, повторите!
- 22:43 — Отправлена новая сборка. Я также понял, что никто, загружая приложение Sports-Social, не защищает свой пол… верно? Это может остаться как есть, сказал я себе и дал Apple свое «оправдание».
Урок № 4. Будьте вежливы при общении с командой проверки по поводу отклонений. Могу с уверенностью сказать, что был. Хотя это быстро меня ни к чему не привело… Я также решил пометить и сделать скриншот других приложений, в которых были аналогичные процессы регистрации. Вероятно, лучше этого не делать... как вы увидите в последующий период... #Silence.
3 сентября
- Ничего такого
4 сентября
- Ничего такого
5 сентября
- Сюрприз-сюрприз… ничего!
- К счастью, сегодня я ехал в iOSDevUK в Уэльсе, где мне предстояло пообщаться с другими фанатами на моей первой встрече/конференции разработчиков с тех пор, как я решил научиться программировать 12 месяцев назад.

- На самом деле это было фантастическим отвлечением, и в течение следующих нескольких дней мне приходилось общаться с некоторыми фантастическими людьми. Мое любимое выступление было произнесено на третий день Ричардом Тертоном под названием «Я идиот», что мне показалось очень простым. Интересно, почему!
Урок № 5. Окружите себя другими разработчиками, ожидая проверки. Выслушивание их похожих историй и наличие кого-то, с кем можно поделиться своей историей (особенно с кем-то, кто не будет косить глазами при обсуждении процесса)… по крайней мере на первых порах поможет вам оставаться в здравом уме.
6 сентября
- Ничего такого
- Возможно, в преддверии события Apple группа по анализу наверстывала упущенное в отпуске перед неизбежным потоком заявок на iOS10 и приложение-стикер. Может быть…
Урок № 6. Будьте заняты... возьмите отпуск, займитесь созданием прототипа, чем угодно, чтобы занять свой ум. #Терпение!
7 сентября

- Ничего такого
- Но эй … событие Apple было здесь. Вы никогда не смотрели мероприятие Apple должным образом, пока не сидели в лекционном зале с сотнями циничных разработчиков! #Храбрость
8 сентября
- Ничего такого
- Моральный дух на рекордно низком уровне.
Урок 7. Определенно лучше не подчеркивать несоответствия с процессом проверки Apple и не тратить время на сложные решения. Помешало это мне или нет, но уж точно не помогло. Я все еще ждал!
9 сентября
- 02:18 — Просыпайтесь с сообщениями «На рассмотрении» и «Приложение отклонено» с разницей в несколько часов.
- 13:37 — Неохотно отправьте еще одну сборку, отвечающую всем требованиям команды Apple Review, пожертвовав своим достоинством в пользу получения одобрения.
Урок № 8. Не уверен, что Apple «договаривается» с разработчиками. Я бы посоветовал, если они попросят вас внести какие-либо изменения, просто внести их. Независимо от того, считаете ли вы их правильными или неправильными. Если вы этого не сделаете, ожидайте долгую и мучительную неделю или около того… до вероятного электронного письма с отказом. #Взгляд в прошлое
10 сентября
- Ничего такого
11 сентября
- Ничего (работают ли тестировщики по выходным?)
12 сентября
- Ничего такого
13 сентября
- Ничего такого
14 сентября
- 21:15 — Статус приложения Ooeeee меняется на «На рассмотрении».
- Далее следует бессонная ночь
15 сентября
- 04:10 — Приложение «Ожидает выпуска для разработчиков»
- 23:10 — ДА, ОДОБРЕНО!!! Бинго, бинго, банго.
- Подготовил контакт, который представит меня на ProductHunt и предоставил ссылки, изображения и т. д. для публикации на следующий день.
- Затем следует больше сна.
КОНЕЦ.
Или нет…
16 сентября

- 01:00 — За исключением того, что это был не конец и не время спать. Я обнаружил пару КРИТИЧЕСКИХ ОШИБОК после отправки и установки статуса «Готово к продаже».
- Приняв решение запустить приложение с ошибками или снова подвести моих подписчиков по электронной почте, я выбрал более рискованный вариант. Сохранить изображение и запустить! Затем я сразу же отправлял новое обновление.
- 03:00 — Начал новую сборку, исправил 80% проблем и запросил статус приоритета у Apple, прежде чем я надел свою разумную пижаму. Пошел спать, не сдаваясь. Я становлюсь разумным сейчас…
- 09:00 — Проснулся пораньше, чтобы проверить есть ли котировки на ProductHunt. F5, F5, F5, F5, F5, F5… и т. д. до 11:30. О, нас забыли!
- 11:45 — Пришло время отложить запуск на PH до следующей недели и завершить обновление до того, как проснутся заглянувшие в Калифорнию.
- 17:28 — Исправлены ошибки и отправлен новый билд. V1.0.1.
- 18:24 — В обзоре — ВАУ, как быстро!
- 21:00 — Отклонено — О НЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕ!
- Отклонено из-за той же функциональности, к которой я обращался для группы проверки в версии 1.0. Это привело меня в бешенство, и на этот раз я решил привлечь «Совет по рассмотрению приложений», чтобы оспорить это решение!
- 23:03 — Внесены дополнительные изменения и вне всяких разумных сомнений гарантировалось, что та же проблема не возникнет — удаление проверки в полях регистрации. ОТПРАВКА 127 437 или около того.
17 сентября
- Последовал большой подробный диалог с Советом по рассмотрению приложений, в ходе которого они высказали некоторые дополнительные опасения. Четко и лаконично.
- Признавая, что это было важным исправлением ошибки, они согласились одобрить на том основании, что через несколько месяцев я представил еще одну сборку… которая затрагивала один оставшийся аспект приложения, который граничил с соблюдением их рекомендаций.
- 21:29 — Мне удалось заставить Apple быть гибкой и внимательной. Может быть, теперь я могу назвать себя опытным разработчиком, спрашивал я себя?
- 21:55 — Обновление версии 1.0.1 — выпущено и настроено на «Готово к продаже», и теперь я мог спать спокойно, зная, что приложение стабильно, функционально и работает так, как предполагалось изначально. Какой груз с моих плеч! Если бы мы были здесь 3 недели назад, когда я начал снимать этот процесс.
18 сентября
- Воскресенье — День отдыха…. и… день подготовки вашего приложения к официальному запуску! Ну, по крайней мере, для меня.
19 сентября
- 07:40 — Просыпаюсь и вижу, что мое приложение на ProductHunt сияет во всей красе! Уууууу.

Урок № 9. Будьте терпеливы, настойчивы и не теряйте самообладания. Я уверен, что ни у кого из вас не было такого ужаса при запуске вашего первого приложения, как вы видите выше. Однако у всех нас есть проблемы с получением приложений через линию, и очень легко (как я обнаружил) принять это на свой счет и разочароваться. Однако я нашел утешение в том, что знаю, что в конце концов ДОБУДУ УСПЕХА и что это был опыт обучения.
Я зашел НАСТОЛЬКО далеко, сколько еще дней или часов… особенно над проектом, на создание которого ушло 13 месяцев?
Что было дальше, хочешь знать? Сколько посещений страниц, загрузок и т. д. с момента запуска? Что я сделал для маркетинга? Что ж, я сохраню все эти пикантные вещи для другого поста… так что следите за обновлениями и нажмите кнопку «Подписаться», чтобы не пропустить мой следующий пост.