Сегодня в AppStore стало доступно мое первое приложение на iOS!
Это событие стоит того, чтобы его отправздновать! Пожалуй закажем домой подарочную пиццу :) А пока она едет, расскажу про свой путь к первому личному проекту вышедшему в свет. Приложение, между прочим, доступно во всех странах мира, где есть AppStore! Другое дело конечно, что мало кто о нем узнает, т.к. в топы оно не попадет и рекламировать его я не собираюсь, но цель была и не в этом.
Что меня сподвигло
Началось все 11.11.2011, когда я вышла замуж. Каждая замужняя женщина думает о том, что скоро предстоит заводить детей и соответственно уходить в декрет. А декрет это очень сложно. И с моей точки зрения сложно тем, что надо как-то не сойти с ума за полтора года + 70 дней (больничный до родов) и потом опять выйти на работу, не потеряв накопленный багаж опыта.
Первые действия
К тому времени из продукции Apple у меня был мною очень любимый iPod Touch. Мысль написать на него что-то самой была очень заманчива. Программистом я тогда работала уже 2ва года. Шло время, по схеме работа-дом-работа-дом, и однажды я наткнулась в iTunes U на курс стендфордского университета про разработку под iOS (я писала про него в
посте про онлайн обучение для программистов). Я посмотрела для интереса одну лекцию и очень удивилась, на сколько интересно и доступно в ней все приподносится! Встал вопрос, а на чем же это писать? Поставив хакинтош моими кривыми ручками на новенький, подаренный мужем ноутбук Vaio (до сих пор удивляюсь зачем за него платить такие большие деньги), я его чуть не убила.. Добрые люди помогли мне вернуть все на место.
Попытки пройти курс лекций по разработке под iOS
Осенью 2012 года мы продали этот ноутбук, добавили еще немного денег и купили б/у MacBookPro. Он был очень красивенький и приятненький :) Я прослушала несколько лекций нового "сезона" разработки под iOS - стендфорд каждые полгода выкладывает новый курс лекций под новую версию iOS или просто с началом нового семестра. Написав небольшой калькулятор, это было первое домашнее задание в курсе, я совершила то, к чему еще не была готова. Я поставила себе напоминание на каждый будний день за полтора часа до работы с текстом "курс iOS стендфорда". Это было вполне реально. Работать я начинала в 10.00, до работы идти мне 10 минут, значит вставать надо не раньше 7.30. Но ерез неделю мой макбук покрылся пылью..
В марте 2013-го я на 3-м месяце беременности. В связи с этим, а так же с тем, что я очень честная, могла шифроваться еще один-два месяца, я не получаю должность зам. начальника отдела. Это меня расстраивает. А так же то, что инвестиции в макбук не оправдались, и он все также пылиться на полке. Я сдуваю с него пыль и начинаю проходить новый "сезон" курса разработки под iOS. Все приходится начинаться с самого начала, т.к. задания к курсу кардинально отличаются.
Лето 2013-го. Я таскаю свой огромный живот вдоль побережья Балтийского моря и играю в бобра из Fairway. Я не мою посуду, не убираюсь (сейчас я делаю это постоянно..), я почти каждый день катаюсь на машине к морю, гуляю и "бобрю" (потом оказалось, что в игре Fairway не бобер, а суслик, но выражение "бобрить" или "опять ты бобришь" осталось). Fairway - это игра-пасьянс. В нее можно играть бесконечно и почти бездумно. Я играла в нее до самых родов. Я даже думала, что буду играть в нее в родильном зале! Никогда, никогда не устанавливайте эту игру!
Долгожданный результат
26-го сентября 2013 года у нас родилась дочка, Варвара, очень красивая и на редкость спокойная. Первый месяц я отходила: прочитала три или четыре художественные книжки, посмотрела сезон нового сериала. И потом захотелось уже что-то поделать.
Взять себя в руки
Я начала проходить уже опять новый "сезон" курса. В прошлый раз я успела пройти половину, и в этот раз, благо задания были такие же, я быстро пробежала первую половину лекций. Оказалось, что смотреть курс, когда его только выпускают, намного эффективнее. Новые лекции появляются с оповещением, т.е. с неким пинком для продолжения курса. И в перерывах между выпуском лекций можно успеть посмотреть последнюю и сделать домашнее задание, если таковое было. Кстати, скажу я вам, задают там ой как много! Не представляю, как в стендфорде учатся студенты.
В новый год без долгов
К новому году я допрошла курс!! :) Хотя еще осталась пара лекций, которые не успели выпустить, я посчитала, что уже достаточно узнала, чтобы начать действовать дальше! А оставшиеся 2ве лекции оставила до того момента, как расматриваемые в них темы мне понадобится. На этой неделе, например, буду смотреть лекцию про локализацию.
Что взять за основу первого приложения?
Чтобы опять не застрять на полпути, я намерено выбрала для создания очень простое приложение. По сути это была одна половина из первых заданий курса. Поэтому нужно было только выпилить ее в новый проект, добавить несколько новых функций и отправлять в магазин. Идей новых функций было много, но почти от всех них пришлись отказаться, чтобы приложение вышло намного раньше. Честно сказать, я боялась, что приложение не пропустят в AppStore. Там и так уже есть несколько подобных моему. И добавление новых функций не сильно бы выделяло мое приложение среди других.
Я не собиралась поднимать на первом приложении денег. Оно выступало лишь площадкой для получения опыта разработки и "внедрения". А так же возможность показать хотя бы какой-то результат своей работы предполагаемым работодателями или фриланс заказчикам.
Отправка в магазин стояла для меня барьером, так как я практически ничего об этом не знала. Только то, что нужно вступить в программу для разработчиков под iOS и заплатить 99$ за год.
Очередной ступор
Итак в приложение осталось добавить одну фичу, нарисовать иконку, выбрать launch image, подготовить их во всех нужных форматах и можно отправлять в магазин.
И тут я опять застопорилась.
Вернуться к моему небольшому проекту мне помогла книжка "
Выйди из зоны компфорта", которая заставила меня расставить приоритеты, составить план по завершению проекта, определить дату окончания.
Неожиданно быстрое завершение
Дату завершения этапа я установила для себя на мой день рождения, 5 апреля, но успела все завершить на месяц раньше! Во многом из-за того, что фича заняла всего несколько строчек кода! Что я никак не могла ожидать в начале)
В итоге благодаря первоначальному решению остановиться только на самых важных функциях, я завершила этап быстро и получила огромный прилив сил для следующего этапа, а в моем случае для нового, действительно интересного проекта.
Нюансы подготовки приложения для выпуска в AppStore
Иконку готовьте сразу разрешением 1024*1024, т.к. при отправке в AppStore нужна именно такая.
Launch image - это картинка, которая висит, пока ваше приложение грузится. Сначала я хотела отобразить на ней подсказки/тултипы для всех кнопочек, но потом почитала руководства Apple и решила выбрать просто пустой задник. Что еще сократило время работы.
Запуск на девайсе и регистрация разработчика. Я подключала свой iPhone к маку, выбрала в Xcode вместо симулятора iOS device и запустила. Xcode предложил мне либо загрузить сертификат разработчика, либо создать. При создании Xcode перенаправляет на соответствующую страницу в Member Center.
Для физ. лица надо только ввести данные банковской карточки, имя и фамилию, которые указаны на этой карте, адрес. Указанные имя и фамилия будут в качестве разработчика в AppStore. Так что посмотрите на них внимательно. У меня, например, оказалось, что мое имя Мария написано не Maria или Mariia, а Mariya.. Теперь, как я понимаю, уже ничего не сделать. После того, как вы введете нужные данные, пройдет день или 2ва, пока Apple все одобрит. С вашей карточки спишется 99$. И когда на почту придет письмо, что все готово, можно опять идти в Xcode, подключать устройство и запускать. Теперь выбираем уже "загрузить сертификат" и все, можете радоваться и прыгать до потолка)
Когда будете подключать новый девайс, не забывайте указывать в открывшихся свойствах девайса Use for development.
Тестирование. Сначала я хотела использовать TestFlight. Для этого надо было настроить в iTunesConect ad hoc distribution сертификат. Я зашла первый раз туда (developer.apple.com - Member Center - iTunesConnect) и почему-то сразу оформила информацию о своем приложении, загрузила иконку и осталось только добавить сборку.
Кстати, в информации о приложении обязательно надо указать сайт. Так что мне ничего не оставалось, как вписать туда ссылку на этот блог :)
Создание сборки. Сначала надо было в Member Center (Certificates, Identifiers & Profiles - Certificates - Provisioning Profiles) создать distribution сертификат. Там уже есть development сертификат, но нужно создать еще и distribution. Загружала я сборку через Application Loader (Xcode - Open Developer Tool - Application Loader) и он требует этот сертификат.
Чтобы создать сборку нужно подключить девайс к маку, без этого нужный пункт меню будет не доступен. Затем с помощью Product - Archive создаем файл сборки и указываем его в Application Loader. После этого будет доступка кнопка отправки приложения на Review. Отправляем и ждем письма.
Review. Мне письмо пришло через неделю с темой "Your app status is In Review", затем еще
одно и наконец "Ready for sale"! В этом последнем письме рядом с названием моего приложения была маленькая стрелочка - ссылка на мое приложение в AppStore. Но сначала там ничего не оказалось. В письме было написано, что процесс выпуска приложения в магазин может занять до 24 часов. Ок. Я подождала сутки, но опять ничего.
Availibility Date. Дело было в том, что я указывала Availibility Date для моего приложения с запасом в 2ве недели. Поэтому-то он до сих пор был не доступен. Я зашла в iTunes connect и поменяла ее на сегодняшнюю. Приложение почти сразу появилось и для меня начался праздник :)
Аналитика приложения в AppStore. 500 скачиваний! Откуда??