Разработка под Apple iOS

индекс
167,98

Трудный путь новичка в топ 5 русского App Store из песочницы

Приветствую всех. Являясь большим поклонником продукции одной известной фруктовой компании, решил попробовать свои силы в разработке под iOS. И вот хочу поделиться своим опытом и трудностями, с которыми я столкнулся, во время написания и публикации своего, фактически первого, приложения в App Store. Может быть, мой опыт окажется кому то полезным. А трудностей было предостаточно. В процессе публикации в App Store приложение было 2 раза отклонено и третий раз висело 6 дней в статусе «In Review». В итоге моя настойчивость победила, приложение опубликовали и оно попало в пятерку русского App Store в категорию Top Free iPhone Navigation Apps. И так все по порядку.

Идея возникла фактически сразу


У меня ребенок ходит в школу, которая далеко от дома. Конечно же хочется после уроков ему позвонить и проконтролировать, как он там добирается. Но вот беда, в школе заставляют переключать мобильный в режим «без звука», а переключить его обратно он всегда забывает. И конечно меня жутко раздражает, когда я ему звоню 10 раз, а трубку никто не берет. Так и возникла идея, для себя и для других родителей, написать приложение, которое будучи установленным, на телефон, в фоновом режиме передавало бы координаты телефона на сервер. А родители могут либо на сайте, либо на своем телефоне в любой момент посмотреть, где находится их ребенок. Другими словами стояла задача написать обычный GPS трекер, работающий в фоновом режиме, для iPhone. Название для приложения пришло сразу Child locator, и я принялся за работу.

Программирование


Да я знаю, что велосипед уже давно изобретен, и GPS трекеры уже есть в App Store и не один. Но чем то они мне все не нравились. Средства разработки у меня имелись. Зарегистрироваться в девелоперской программе Apple никакого труда не составило. Сам процесс программирования был не сложен, у Apple все подробно описано (правда как оказалось в дальнейшем, далеко не все). Сам функционал занял где то всего 20% как по времени написания, так и от общего объема кода. Все остальное время ушло на интерфейс. Начинаю тестировать и вот первая проблема: через десять минут работы фоновый процесс тихо погибает и перестает передавать координаты на сервер. Лезу в документацию и на форумы и выясняю, что Apple дает каждому фоновому процессу 10 минут, чтоб закончить все незавершенные операции и потом «убивает» его. Что бы фоновый процесс работал дольше чем 10 минут, надо явно прописать в файле info.plist что приложение геолокационное. Хорошо прописал, все равно что то не то. То работает то не работает. Начинаю разбираться и выясняю, что Apple очень не любит, когда приложения работают в фоне напрасно. Получается если интервал времени, через который фоновый процесс определяет координаты, меньше 10 минут то все в порядке, все работает. Если вдруг ваш фоновый процесс 10 минут «бездельничал» то iOS «убьет» его, как бы он не был прописан в info.plist. А у меня в настройках максимальный интервал через который определяются координаты 30 минут, по этому пришлось, независимо от настроек сделать таймер и каждые 9 минут опрашивать GPS приемник. И эта проблема решена. Но проблемы, на этом не закончились. Начались проблемы с точностью. Пока приложение активно- точность отличная, иногда погрешность всего 5 метров. Только перевожу в фоновый режим и погрешность сразу почти 1500 метров. А кому нужен GPS трекер с погрешностью полтора километра. Опять читаю форумы оказывается в Apple очень не рекомендуют использовать GPS в фоновом режиме, и при переводе в фоновый режим вместо GPS координат мне подсовываются координаты, определенные по вышкам сотовой связи. Нахожу на форумах какой то «шаманский код», который создает в фоновом режиме фейковый mapview. Заработало, точность значительно улучшилась. Конечно остались сомнения, как к этому отнесется Apple в процессе ревю, но время покажет. Интерфейс приложения сделан на русском языке, предусмотрены удобные настройки, по принципу настроил один раз, перевел в фоновый режим и дальше все работает автономно. Можно задать интервал, через который будут определяться координаты телефона, а также время начала и завершения отслеживания. Другими словами если ребенок идет в школу на 9.00 часов, а приходит в 14.00, то достаточно в настройках указать время старта 8.00 и время завершения 15.00 и каждый день приложение будет автоматически «просыпаться» в 8.00 и завершаться в 15.00, передавая координаты телефона на сервер. А все остальное время программа будет в спящем режиме, экономя заряд аккумулятора и интернет трафик. Местонахождение отслеживаемого телефона можно посмотреть не только на сервере, но и со своего мобильного. Сайт, который показывает местоположение телефона, сделал быстренько и простенько. Признаться, я не большой специалист по сайтам. Работает и ладненько.

Прохождение ревю


Начиналось все как обычно. Залил приложение через Xcode. Через семь дней появился статус «In Review». А проснулся утром, и в почте письмо от Apple, что приложение отклонено. Я где то и рассчитывал на такое. Зная трепетное отношение Apple к «privacy» и недавний скандал, в котором их обвиняли, что они тайно собирали координаты пользователей, я предполагал что придётся объясняться. Наивно было думать, что программа, отправляющая в фоне координаты мобильного на какой то сервер, сумеет быстро пройти ревю. Читаю в чем претензии. Потребовали логин и пароль к тестовому аккаунту с правами администратора и добавить в описание программы, что работа GPS в фоновом режиме плохо закончится для вашего аккумулятора. Хорошо. Текст в описание добавил, логин и пароль выслал. Приложение не перезаливал. В течении суток статус опять стал «In Review», а на следующее утро опять отказ. Опять разбираюсь. Получив логин и пароль они попробовали программу в работе, а там есть такая опция, что местоположение телефона можно найти не только на сайте, но и с другого телефона зная логин и пароль того телефона, который ищется. И когда местоположение телефона выводится на экран, там есть кнопка «закрыть», которая, видите ли, закрывает часть логотипа Google на карте, а это очень плохо, так что переделывайте бинарник дорогой товарищ, а за одно напишите что у вас за прога такая, что ей нужен GPS в фоновом режиме, а без него вы никак не обойдетесь. Бинарник переделываю, заливаю опять, объяснение на ломанном английском пишу. Программа опять переходит в статус «In Review», и висит этот статус 6 дней, хотя обычно одного дня хватает. Я начинаю волноваться, может Apple забыл про меня, но тут приходит долгожданное согласование и программа в App Store.

App Store


Приложение я писал для себя, особо ни на что не рассчитывал, рекламу в него не вставлял и зарабатывать на нем не планировал. Это была, так скажем, проба пера, но, конечно было интересно, как воспримет мой труд аудитория. Приложение опубликовалось 20 сентября. Днем я был занят по работе, а после обеда решил посмотреть как там поживает моя программа. Открыл iTunes и увидел что приложение где то на 78-м месте Top Free iPhone Navigation Apps. Вот и чудненько, подумал я и продолжил работать. Вечером я опять глянул на рейтинг программа была уже на 55-м месте. Вот тут мне уже стало интересно и я начал наблюдать. Вечером 21 сентября приложение вошло в десятку Top Free iPhone Navigation Apps русского App Store, а 25 сентября стало 4-м. Я и не предполагал, что так много школьников имеют iPhone. Хотя, подозреваю, что она используется и для других целей. Кстати 4-е место, если кому интересно, это где то 1000 загрузок в день.

Послесловие


Разрабатывать под iOS мне понравилось. Что было положительного. Понял на практике как устроен App Store, ведь читать статьи и попробовать самому это две большие разницы. Получил несколько предложений о трудоустройстве от известных компаний. В планах написание следующей программы, но уже платной. Идея уже есть. Из отрицательного- техподдержка самая неблагодарная работа в IT. Из писем, присланных мне пользователями, у которых что то не получалось, можно составить целый comedy club. И самое главное, хочется опровергнуть миф о том, что время одиночек в App Store прошло, и настало время монстров с гигантскими рекламными бюджетами. Думаю, что если приложение реально решает проблемы людей оно будет популярно. Хотелось бы всем начинающим разработчикам под iOS, пожелать не бояться пробовать свои силы.

P.S. Конструктивную критику (не переходящую на личности) воспринимаю положительно. Мое приложение отличается от Find My iPhone. Про 95% недостатков моего приложения мне уже написали пользователи. Со следующим апдейтом постараюсь исправить. .
+70
28 сентября 2011, 22:44
93

комментарии (118)

+1
soulburner #
Любопытно — насколько сильно расходуется аккум?
0
a1ndrey #
В настройках есть интервал через который опрашивается GPS. И если этот интервал 20-30 минут то фактически аккумулятор не страдает, но если поставит 2 минуты то конечно за день посадит аккумулятор.
–1
DepenD #
А как именно Ваше приложение отличается от find my iphone? Просто интересно.
+1
a1ndrey #
У меня запоминается маршрут передвижения. Да и есть настройки в которых можно указать время начала отслеживания и время окончания. Можно также задать интервал, через который будут определяться координаты.
+1
DepenD #
Понятно, спасибо.
+1
death_code #
А установка интервала опроса GPS у вас только на девайсе происходит? Или на сервере тоже можно? Думается что для особо беспокойных родителей было бы удобно устанавливать некоторые параметры через сервер.
+1
a1ndrey #
Установка интервала опроса только на девайсе. Но Ваша идея мне понравилась. Тем более технически она решается легко.
0
SmartBye #
Не очень понял, как вы решили описанную проблему с 10 минутами между запросами. И ждущий режим тоже не очень понятно.
0
a1ndrey #
Все очень просто. Раз в девять минут опрашиваю GPS, но ни как не использую эти данные. Вторую часть вопроса не понял.
0
SmartBye #
Ну в самом начале вы написали, что проблема в убийстве фонового процесса если нету опроса gps в течении 10 минут. Не понимаю просто как в таких условиях вы делаете экономию энергии с интервалом в 20-30 минут и собственно ждущий режим, при котором приложение не должно (насколько я понимаю) вообще опрашивать датчик.

Или под опросом датчика вы имеете ввиду не запрос координат, а что-то менее энергозатратное? Просто с разработкой под телефоны пока незнаком, поэтому могу чего-то не понимать.
+2
a1ndrey #
Постараюсь ответить подробнее. Определение координат не происходит моментально. Это немного непредсказуемый процесс, который зависит от того сколько спутников нашел GPS и т.д. Через интервал времени указанный в настройках я включаю GPS (хотя это не правильно так говорить) на 20 секунд, чтоб точность определения координат была максимальной. А каждые 9 минут я опрашиваю GPS чисто номинально пол секунды, только для того, чтоб iOS не убила фоновый процесс.
0
SmartBye #
Теперь понятно, т.е., условно говоря, чем дольше запрос к датчику, тем больше времени у него на поиск спутников и тем точнее данные. Хотя звучит все равно очень затратно.
Спасибо.
0
dulepov #
Насколько я понимаю технологию, спутники тут не при чем. Спутники используются, только если телефон «видит» небо. По крайней мере, это требование всех известных мне навигаторов. У ребёнка телефон будет лежать в сумке или в кармане, соответственно спутников он не увидит. Даже обычный стеклопакет часто препятствует видимости спутников.

То, что используете вы, называется Location services и, при отсутствии GPS-сигнала, использует информацию о положении от базовых станций или доступных wifi-сетей. Эта информация может не совпадать с реальным положением на сотни метров. У меня в сельской местности она ошибается примерно на 10км.

Поправьте, пожалуйста, если я не прав.
0
a1ndrey #
Вы почти правы. Но когда телефон в кармане спутники вполне видны. У меня при тестировании погрешность по базовым станциям была 1500 метров в городе. В комментарии выше речь шла об энергопотреблении, и я объяснял что GPS как раз и нужно время чтоб найти спутники и рассчитать координаты, по этому за одну секунду его опросить нельзя, а в это время «подсовываются» координаты определённые по базовым станциям.
+1
dulepov #
Это интересно. Мой TomTom Go 930 не видит спутники вообще, если нет чистого неба.

Возможно, поведение iPhone как-то связано с тем, что использует A-GPS, а не стандартный GPS.

Спасибо за ответ, я получил примерно то, что хотел узнать.
0
neptune #
TomTom вообще плохо координаты определяет. iPhone в разы лучше и быстрее. Скорее всего тут A-GPS помогает, да
0
dulepov #
По моему опыту, ТомТом точнее. Айфон – да, быстрее, но ТомТом намного точнее.
0
neptune #
намного это как? Судя по тому что мне iPhone показывает на карте — точность около 10м
0
dulepov #
Временами ошибается метров на 50 под открытым небом (показывает, что я по колено в речке стою). Но у меня ещё старенький 3Г. Может, в этом дело?
0
neptune #
в процессе «поиска» текущей точки — может занести и в лес и в речку :) Просто сперва идет данные A-GPS, но через некоторое время (когда появились данные с GPS), координата становится точнее и точнее. В итоге показывает что надо. Думаю на 3G также
0
AlexRybka #
«А у меня в настройках максимальный интервал через который определяются координаты 30 минут, по этому пришлось, независимо от настроек сделать таймер и каждые 9 минут опрашивать GPS приемник.»

Значит фактический срок опроса 9 минут. Я так понимаю, что при настройке в 19 минут, то телефон будет опрашивать 9+9+1? Как же тогда 20-30 минут меньше едят батарею?

Как предложение — сделать разные интервалы опроса: зачем опрашивать каждые 5 минут положение во время занятий в школе?
0
AlexRybka #
Ответ прочитал выше =)
0
a1ndrey #
Ну вы не сравнивайте включение GPS секунд на 10-15 (пока спутники найдет, и.т.д.) и просто полсекундное обращение к GPS, только для того, чтоб приложение осталось работать в фоне.
+11
TAURUSiv43 #
Осталось только купить каждому ребенку по айфону.
–5
aNDREIQA #
Тоже недавно решил попробовать себя в этом деле, не знаете как можно отправить в app store приложение не платя 100енотов, так как зарабатывать на этом я точно не собираюсь, а попробовать интересно?
0
a1ndrey #
Никак. Только найти знакомого, который опубликует.
–2
quser #
если регистрироваться только на распространение бесплатных приложений — $100 платить и не надо.
+6
a1ndrey #
Насколько я знаю 100 баксов надо платить по любому.
0
VasG #
Вы говорите, что при определении координат по вышкам сотовой связи погрешность составляет до 1500 метров, но как тогда определяются координаты, пока ребенок в здании школы?
0
a1ndrey #
Вот по вышкам и определяются. Да есть погрешность. Но все GPS так работают, что не ловят спутники в помещении.
0
Game_Rate_Com #
В школе скорее всего есть wi-fi точки и по ним координаты телефон может определить куда точнее чем по вышкам. Ну и если ребенок сидит у окна и вокруг нет высоких зданий вполне может быть что и GPS сможет спутники увидеть.
Да и потом главная функция как я понимаю именно понять момент когда он выходит из школы. =)
0
a1ndrey #
Да нет главная функция узнать куда он двигается из школы. Домой или еще куда то.
0
Game_Rate_Com #
Ага — я это ввиду и имею — когда вышел и куда пошел — а пока он в школе находится его координаты точные по любому не важны =)
+1
a1ndrey #
Да да пока он в школе не страшно.
0
EndUser #
А откуда вы знаете, что в 11:00 он именно в школе, если координаты ±1500м?

Или вам всего навсего интересно куда он попёрся только после 14:00?
0
a1ndrey #
Именно так, пока он в школе я спокоен:) А вот после школы…
0
EndUser #
То есть это для дисциплинированных детей, которые с уроков не сбегают? Которых не похитят на перемене со школьного двора?

Это для только задумчивых детей, которые после школы могут после кафе-мороженного пойти в магазин игрушек, а после этого в кино?

Созрела идея: если вы знаете источник координат (сотовый/спутниковый), то показывать на карте последний спутниковый (перед входом в школу). Под крышей школы метания сотовых координат ±1500метров за побег/похищение не засчитывать.

Если именно спутниковые координаты поплыли в промежутке 8-14, то смс-звонок родителям.
0
a1ndrey #
Как раз во дворе GPS работает. На карте всегда показывается точность определения координат и если она меньше 500 метров я понимаю что ребенок в помещении. Я не думаю что сразу звонок родителям, хотя какую то смс-ку можно отправить. Вообще есть простор для доработок.
+2
TimID #
Посмотрел на AppStore. Приложение вроде полезное. Хорошо, что бесплатное.
Хоть и дизайнер (художник) Вам явно не помешает.

Но почему бы не написать топик все-таки о самой разработке, а не «ух ты, гляньте — я в апсторе».

Мне вот интересны подробности того «чего нет в документации», а их в тексте то и нет.

Может, напишите продолжение (техническое)?
+6
a1ndrey #
Я вроде постарался все осветить как с технической точки зрения, так и прохождение ревю у apple. Ни чего такого, что нельзя найти в доках apple или в интернете я не использовал.
+7
dvs #
И как же мы жили без айфонов?!

Дальше, должен появиться аксессуар для смарфона, который будет брать анализ крови каждые 30 минут с 18:00 до 23:00, пока ребёнок гуляет, а то мало ли чем он там занимается.

Никакого доверия детям. Деградируем потихоньку.

+1
Game_Rate_Com #
Скорее в обозримом будущем это будет амулет на шею который записывает видео со звуком + может быть и запахи и передает в облако которое анализирует что-бы ребенок чем-то не тем не занялся =)
Доверие доверием, но родители все равно предпочитают знать, чем догадываться где ребенок и что он делает. =)
0
AlexGoncharenko #
подобные аксессуары уже появляются, например небезызвестный Jawbone Up
0
Game_Rate_Com #
Это из подобной серии, но пока для отслеживания самого себя (что конечно клево и я эту штуку тоже хочу конечно, еще подобный fitBit и амулет от филипса или типа того) — но родителям интересно именно отследить что с детьми происходит, причем желательно в реалтайме =)
+1
diamant #
В следующем году.
Причём намного больше, чем анализ крови — меряет давление, пульс, электрическое сопротивление кожи и т.д. и т.п., анализирует данные, передаёт на сервер, подаёт сигнал носителю в случае опасности.
+2
Xlab #
Я гуглял во дворе и меня орали в окно. Норм. Я не имел права покидать территорию двора или заходить за соседний дом, т.е. пропадать из зоны видимости. Так и жили, если родители заботливые.
+1
Kakysha #
Наверное ни разу не бегали вместо всяких «кружков» к друзьям играть в компьютер? Ну не поверю. А теперь представьте, что этого всего у вас не будет. И как? Почему-то когда мы все дети, мы считаем себя взрослыми и ворчим на чрезмерный контроль, а сами, только вышедши из детского возраста уже думаем, что это же дети, им доверять нельзя. Вечная проблема…
–1
Xlab #
Вообще сейчас мало чего изменилось, я по прежнему на связи. И это хорошо.
По поводу компа — у меня он был лучший на районе. Так что в основном ко мне бегали.
+2
a1ndrey #
Я когда маленький был вообще специально спрятался и наблюдал, как меня ищут. Так маме чуть скорую не пришлось вызвать. А мне хорошо влетело. Дети есть дети.
0
dvs #
Да, с айфоном будет ещё веселее. Ребёнок решил проверить, как его родители «любят» и положил свой айфон в какой-нибудь мусоровоз. Дальше сюжет будет такой же, ребёнку влетит.

0
a1ndrey #
Дети всегда шкодят. И им потом достается.
+1
yul #
Ребёнок решил проверить, как его родители «любят» и положил свой айфон в какой-нибудь мусоровоз.
со всеми контактами, вконтактами и фермами? Что-то я сомневаюсь…
0
entze #
Плохой дядя может увести ребенка. Такая мысль в голову не приходила?
+8
ZeoSonE #
Поработайте над дизайном, добавьте баннер и возможность его убрать за $.99
Труд должен оплачиваться (или вознаграждаться, кому как больше нравится)
+2
ha2bj #
liketheplace.com/ (чтобы другие не искали как я искал)
0
GreatWizard #
Спасибо, добрый человек.
+2
ZeoSonE #
Странно, почему вы не добавили в статью ни ссылок, ни скриншотов…
0
a1ndrey #
Я рассказал про сам процесс, не хотелось чтоб это воспринималось как реклама.
+1
ZeoSonE #
Визуальная информация легче воспринимается.
И статья выглядит живее )
0
a1ndrey #
Учту на будущее.
0
sainnr #
Не поздно еще добавить в топик скриншоты и ссылки на сайт / на само приложение :)
0
alex_and_r #
А правильно ли я понял, что до написания этого приложения опыта/знаний программирования под iOS не было?
0
a1ndrey #
Правильно небыло.
0
alex_and_r #
О! Интересно! А на чем до этого программировали?
0
a1ndrey #
Да особо ни на чем. Разве, что в 90-х на паскале.
0
alex_and_r #
О! Так это еще интереснее! Значит и у меня есть шанс! :) Спасибо за статью!
0
a1ndrey #
Так я ж чего и написал. Не надо боятся пробовать свои силы. Как говорится дорогу осилит идущий.
0
Peregrinus #
Сколько времени у вас ушло на разработку?
0
a1ndrey #
Два месяца. Включая 2 недели «бодания» с Apple. Сам функционал не сложен, много времени я потратил на интерфейс и отладку приложения. Только одна отладка заняла недели 3 (как раз было лето и при поездке на море подключал телефон к ноутбуку и ехал пока не садился аккумулятор в ноутбуке. Потом смотрел логи. И корректировал код.
+2
AMCDM #
Не подскажите, что читали? Особенно про С/Objective-C.
У меня такая же ситуация, знаю паскаль, а про ООП — только в общих чертах.
0
alex_and_r #
Сам хотел задать такой вопрос, но раз ответа от автора топика нет, поиск по хабру тут же дал, наприер, такое: habrahabr.ru/blogs/macosxdev/127038/ Там и названия книг есть. ;)
0
brooho #
Не боитесь ребенку айфон давать? Фиг с ним если просто отберут, но ведь может и по лицу получить от гопников каких-нибудь. Меня вот это сильно останавливает.
0
a1ndrey #
Больше боюсь, что он его забудет где то. Он такой рассеянный. А отобрать могут любой телефон.
0
diamant #
А как работает схожее с вашим по функционалу приложение Google Latitude?
Его можно даже прибить — оно будет продолжать посылать координаты на свой сервер.
Отключается только в настройках айфона запретом GPS для приложения.
0
a1ndrey #
Оно больше позиционируется как социальное и наверняка не показывает маршрут.
0
diamant #
Свой маршрут просмотреть можно, как-то так:

Но я имел в виду не само приложение, а то, как оно может передавать координаты с GPS даже в выключенном состоянии.
0
a1ndrey #
Этого я не знаю, может Apple поделился с ними какими то секретами, которыми не делится с обычными разработчиками. Но насчет в выключенном состоянии это я сомневаюсь.
+1
diamant #
Попробуйте установить эту программу, активировать трэкинг, расшарить положение с другим гуглоаккаунтом, потом закрыть приложение, прибив его в списке запущенных приложений.
У меня сейчас нет iOS-девайсов под рукой, поэтому не могу потестировать, переживёт ли оно ребут. Но выключение переживало, потому я и подумал, что приложения могут как-то регистрироваться в качестве сервисов.
0
Kostyanych #
Сегодня проверил. Рассказываю все как есть (плюс вода и плюс мои домыслы) :)

Начиная с версии iOS 4 в которой появилась многозадачность при перезагрузке устройства система как бы запускает все приложения которые были запущены до перезагрузки. Хотя похоже это происходит формально — иконка в панели задач есть но реально приложение стартанет если на нее нажать. Во всяком случае Скайп так себя ведет.

Похожая функциональность добавлена в настольную ОС Lion которая по умолчанию запускает все программы запущенные в момент выключения.

Но то о чем вы говорите из другой области.
Если мне не изменяет память начиная с версии iOS 4.0 в API добавлена возможность для приложений зарегистрироваться на уведомление при значительном изменении координат телефона. Эта функциональность направлена на всяческие приложения для социальных сетей которые могут обновлять статус и местоположение пациента. Правда насколько я понял используется для этого информация сотовых вышек. Во всяком случае чтобы инициировать событие. Latitude, например, довольно точно показывает положение товарища. Все таки оно использует GPS для этого. Но вполне возможно что инициирует событие перемещение относительно сотовых вышек.

Сегодня специально проверил запущено ли приложение Google Latitude у товарища обновление местоположения которого я вижу. И как я и подозревал, приложение не было запущено. Получается, если это не баг и хитрость Гугла, приложение Google Latitude получает управление будучи как бы не запущенным. Возможно так и задумано.
Отключается это в самом приложении опцией Background Updating.

Да и вообще с текущей реализацией многозадачности и «замораживанием» запущенных приложений при переключении в другое само понятие «запущенного» приложения становится размытым. :)
0
a1ndrey #
Ответил Вам по почте.
–5
AVI #
Я внимательно все прочитал, но так и не понял зачем было написано это приложение. Вернее не так, зачем — это я понял, было интересно попрактиковаться в написании под iOS. Вернее спросить так: какие задачи решает это приложение?

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

Идем далее. Наверное хотим быть спокойны, что знаем где ребенок.

замечательная настройка «каждый день приложение будет автоматически «просыпаться» в 8.00 и завершаться в 15.00»

Что будете делать, если в 15.00 ребенка нет дома, а ваше приложение экономит аккумулятор? Все-таки заходить в Find my iPhone, которое «другое, не такое, не мое, и вообще какое-то противное», но работает когда это необходимо?
+3
a1ndrey #
Поставьте другие настройки. Никто не мешает вам поставить интервал 00:01-23:59. Звук включить дистанционно нельзя. Дальше не понял. Я ничего не рекламирую. Я рассказываю свой про свой опыт, какие задачи ставились и как достигались. Если мое приложение поможет еще кому то решить схожую проблему буду только рад. Каждый может поставить то приложение, которое ему больше нравится. Мое приложение конечно не без недостатков, но его скачивают и устанавливают.
–5
AVI #
Я с этого начал. Расскажите какая задача ставилась и как решилась.

Настройку со временем работы я упомянул именно потому что «приложение писалось для себя», значит я предполагаю, что вы ей пользуетесь. Как будете поступать в случае, если приложение уснуло не дома?
–1
AVI #
>>Звук включить дистанционно нельзя.

Однако приложения могут издавать звуки даже если «рычажок» телефона в положении «без звука». Это отлично демонстрирует, например, Sygic, озвучивая маршрут даже в режиме «без звука» у телефона.
Вот и надо было делать функцию дистанционного включения «дилилиньканья» через свое приложение, типа «включи звук, я пять раз звонил уже!!».
0
a1ndrey #
Вот этого я не знал, я проверю. Спасибо.
0
AVI #
Правда это же самое можно через Find my iphone сделать… Но ладно, молчу, молчу.
0
a1ndrey #
Он не показывает маршрут.
0
AVI #
Я про включение звука говорил.
И я еще спрошу. А маршрут реально так важен? А зачем? Ведь обычно нужно знать просто «где в данный момент», а каким путем — дело десятое.
0
a1ndrey #
Я думаю важен, иначе я бы все это не затевал. А пользовался бы апловской прогой найти телефон. Я же не буду все время перед компьютером сидеть. А так раз и получил маршрут.
0
AVI #
Вы принципиально никогда не даете ответ на мой вопрос «зачем».
Я предполагал, что от программы которая строит маршрут можно получить маршрут. Варианта А так раз и получил… текущее положение недостаточно?
0
a1ndrey #
Мне недостаточно. И другим пользователям моего приложения тоже. Мне нужен был маршрут моего ребенка. Хотя бы для того чтоб если телефон пропадет из виду видеть последнюю локацию.
–1
AVI #
Последнюю, потому что предполагается, что она будет наиболее близкой к неизвестной текущей, верно? Значит все-таки плавно приходим к тому, сам трек-то и не нужен, нужна знать все-таки текущее местонахождение.
0
EndUser #
В дроиде это разные регуляторы звука — когда заглушаешь телефон, звуки multimedia, будильник (и громкость телефонного разговора) остаются нетронутыми.

Я это понял так.

MRIM, кажется, пользуется громкостью music, потому булькает даже в mute.

Xabber вроде бы пользуется громкостью notification, и глохнет на mute.

–2
vitaly80 #
Круто!!! Деньги теперь лопатой гребете)
+1
a1ndrey #
Откуда деньги прога то бесплатная:) Я получил опыт, а это, иногда, лучше денег.
0
vitaly80 #
больше опыта — больше денег)
0
soulburner #
Есть повод подумать над платной PRO версией ;)
+1
a1ndrey #
Повод есть, но чувствую пока еще не готов. Хотя думаю над этим. Тут хабражители, пишущие под андроид, хотят написать что то подобное для андроида. И вот если это объединить, чтоб с андроида можно было узнавать координаты iPhone и на оборот, т.к. родителей согласных дать телефон с андроидом ребенку в школу гораздо больше тех, кто готов дать iPhone. Вот тогда можно будет подумать над этим.
0
CrashMax #
Поздравляю) Но хотелось бы узнать с чего конкретно начали изучение программирования под ios? Что читали, писали ли сначала мелкие прожки дабы закрепить знания?
0
a1ndrey #
А как же и читал документацию Apple, форумы разные и писал мелкие программы.
+2
CrashMax #
Ну это вы очень абстрактно. Я надеялся что вы дадите ссылки на те форумы которые по вашему мнению наиболее полезны, блоги, если таковые были, и тд.
+1
SLY_G #
Если время будет и силы, просим добавить конкретики.
Ссылки на форумы, шаманский код и проч. :)
+1
Ember #
Первая мысль — поставить жене на телефон и посмотреть…
0
Romeo_spb #
Странно, но мне всегда казалось, что любые отношения должны в первую очередь быть доверительными, а иначе им недолго осталось…
+1
kkray #
Очень здорово, поздравляю!
Если не сложно, расскажите чем гугл-локатор не устроил?
0
a1ndrey #
Не могу сказать, что не устроил, просто у него гораздо шире предназначение. Это приложение для общения и в том числе он решает задачу определения координат. И даже в App Store он находится в разделе social networking. Я же сделал приложение решающее более узкую задачу. Настроил, запустил в фоне и все.
0
MazeFAQa #
«И самое главное, хочется опровергнуть миф о том, что время одиночек в App Store прошло, и настало время монстров с гигантскими рекламными бюджетами. Думаю, что если приложение реально решает проблемы людей оно будет популярно.»
Забыли добавить — «бесплатное приложение будет популярно». Потому что раздавать что-то бесплатно и продавать что-то — это две большие разницы. И далеко не факт, что ваше приложение было бы столь же популярно, если бы оно стоило денег. Наглядный пример:
habrahabr.ru/blogs/android/125529/
Приложение ценой около 3$ купили около 40 человек, а скачали бесплатно (за 1 день) — сто тысяч.
Так что ваше заявление о развенчивании мифа мне кажется немного сомнительным.

А в целом — было интересно почитать, хотя совсем не разработчик и не айфоновладелец.
0
a1ndrey #
Конечно «за деньги», статистика была бы совсем другой. Я считаю, что платными надо выкладывать доработанные и «отточенные» приложения. Свое приложение, я пока таким не считаю. Но и на бесплатных приложениях можно зарабатывать на рекламе. Просто мое работает в фоне и реклама в нем бессмысленна. А никому не нужное приложение не будут скачивать даже бесплатно. Думаю что сравнивать Android market и App Store не совсем корректно, это немного разные вещи.
0
MazeFAQa #
Мне не кажется это сильно некорректным, в чем такая сильная разница между этими маркетами?
Естественно, что бесполезное приложение никто и даром не скачает. Но проблема в том, что маркеты насыщены приложениями и очень многим платным можно найти тот или иной бесплатный аналог.
Насчет заработка на рекламе — не знаю, не совсем уверен что это принесет сколько-нибудь значимый доход.
P.S. Да, предложение работы и все остальное, что вы перечислили — это тоже весьма неплохо, но все-таки это не доход в явном виде.
0
a1ndrey #
Я не ставлю пока себе цель заработать на этом. Программирование это скорее пока хобби.
0
Svobodniy #
«Но вот беда, в школе заставляют переключать мобильный в режим «без звука», а переключить его обратно он всегда забывает.»
А на иОС нет приложений, в которых можно составить расписание переключения профилей и полностью настроить несколько разных профилей? На Андроиде таких приложений как минимум 3 (из самых расспространенных). Пользуюсь одним в режиме ночь/в пути/работа/в пути/дом/ночь и уже забыл как вручную переключать профили.
0
a1ndrey #
Насколько я знаю нет.
+2
samlowry #
На IOS нельзя трогать основные ф-ции устройства (в целях защиты казуального юзера от установки кучи того, не знаю чего и последующего разочарования/жалоб в Apple).
+1
Alex42rus #
Такие пересели на андроид и теперь жалуются как у них заряд быстро садиться:)
–2
Svobodniy #
Мда… И что тут страшного, если коммуникатор сам будет менять профили? 21й век как бэ… Мда… Хорошо, что я не купил яблоко.
0
MrMySQL #
Могу помочь с оформлением сайта, если хотите :) с UI приложений iPhone не сталкивался, но тоже можно попробывать :)
0
a1ndrey #
Да сайт конечно сделанный на коленке. Но наверное вначале доработаю приложение, а потом займусь сайтом. Спасибо за предложение.
0
MrMySQL #
Обращайтесь если что :)

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.