Как стать автором
Обновить

Комментарии 32

C iOS 3.2 появился флаг UIFileSharingEnabled в info.plist, который и говорил iTunes о необходимости бэкапа папки Documents. Но мне тоже непонятно, зачем было менять этот механизм — кому было надо, тот пользовался.
Директория Documents бекапилась еще с версии 2.0. А упомянутый вами флаг всего лишь позволяет получить к ней доступ через айтюнс.

developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html
Идиотизм, по другому не назовешь.
Если пользователь не обновится с 5.0 на 5.0.1 он обязательно оставит негативный отзыв о приложении.
А где, например, хранить базу данных для приложения в 5.0? В кэшах, чтобы ее оттуда убили?
Весьма наплевательское отношение, согласен с автором.
Можно узнать откуда такая информация:
> И пишите туда всё – базу, кэш, картинки, скачанные из интернета – в общем всё что заблагорассудится.
Я пишу под айфон с первого публичного SDK и четко помню про папки Documents, Library и Caches из официальной доки.
>четко помню про папки Documents, Library и Caches из официальной доки.
Я даже рад такому фашизму со стороны Эппла — Android за полгода насоздавал мне на SD-карте сорок папок в корне, и, кроме пары папок — одной со сделанными мною фотками и другой, в которую смотрит mp3-плеер, я не знаю, нужны ли они операционной системе или каким-то приложениям, кэш ли это, временные файлы или важная информация, от удаления которой перестанет работать какое-нибудь приложение.

Теперь бы ещё прикрутили пользовательскую настройку для программ от не читавших спеки к iOS5 программистов и сохраняющих скачанные карты в Caches — что вполне логично, чтобы можно было явно пометить приложение как неприкасаемое для автоматической очистки.
Вы же не станете спорить что раньше никому в голову не могло прийти ревьювить Documents?
>Но всех проблем можно было бы избежать, если бы они просто добавили новую папку в файловую систему, не затронув при этом старых. Например, создали бы папку synchronized, где повелели бы размещать сохранённые игры, favorite pages читалок и креденшиалы к почте – и все, кому надо, дописали бы нужные пару методов. Вот при Стиве…
Скорей всего так было сделано для избежания проблем со старыми приложениями. При текущей реализации с облаком синхронизируются все без исключения app-хи. При предложенной Вами — старые приложения пришлось бы дорабатывать. А ведь есть вероятность, что они уже не поддерживаются (рит.: Зачем они тогда нужны?)
А нафига дорабатывать рабочие вещи?!
Вот именно, что при таком подходе и не надо дорабатывать приложение. Я на личном примере убедился что, подобная синхронизация с iCloud-ом всего и вся- мана небесная. У меня устройство не подключалось к тунцу для синхронизации с момента покупки. Бэкапов не было. Не вдаваясь в суть проблемы, случайно было удалено одно приложение — буквально через несколько минут оно было восстановлено с облака.
Как подсказывает коллега выше (первым комментарием), кому надо было раньше — тот мог поставить аттрибут UIFileSharingEnabled — естественно все, например, игроделы были в курсе как сделать Documents синхронизируемой.

Так что всё же не соглашусь с Вами — лучше добавлять функционал, как они сделали в 3.2/4.0, чем изменять работающие вещи, как они сделали в 5.0-5.1. Что iCloud добро — я полностью согласен, у меня те же сохранённые рекорды все повосстанавливались и пройденные уровни, iPhone 3G iOS 4.2.1. А в пятой оси они лажанулись.
Кстати, да, как пользователь столкнулся. Айпад при синхронизации ругнулся на «нет места», но немецкий кинематограф таки закачал. За счёт карт навигационной программы.

Причём, процесс сделан совершенно непрозрачно для пользователя — нельзя понять, что именно тебе грохнет синхронизация.
Спасибо за совет про службу поддержку! Как раз актуально, а то уже и надежд почти не осталось, и готовая статья на Хабр лежит всё ещё под сукном из-за глупцов из review team.
You're welcome! Можете потом ещё и позвонить — но только после того как создадите тикет, без тикета они с вами даже разговаривать не станут
5.x вообще пичаль, столько радости нам принесла…
Я конечно понимаю, что политика «Ось и телефоны наши — что хотим, то и делаем» имеет свои преимущества, но и недостатков у нее много, в основном для разработчиков, а идти на встречу им не хотят. А сейчас еще и пользователей затронуло, если у них не актуальная версия оси (я кстати с выхода 5 даже не смотрел, а есть ли обновления). А виноват в итоге разработчик, хотя ничего поделать в этом случае он не мог.
Автоматический бэкап всего в iCloud — отличное бизнес решение. Многие пользователи начнут платить за storage. Ненавязчивый способ приучить пользователей к чему-то новому, да еще и заработать на этом.

Когда мы обновляли MapsWithMe, столкнулись ровно с такой же проблемой — оффлайн карты это как бы тоже перезакачиваемый контент, но если он будет удален в неподходящее время…
Ссылка на пункт 4 помогла с первого раза.
По всей видимости, вы нарвались на толкового ревьювера, а не на особь с иллюстрации к статье :)
//offtop

Спасибо за отличный эпп — карты очень помогли в Европе (и работают в оффлайне). Всем рекомендую.
Мы уже и под Андроидом :)
Спасибо за mapswithme!

Если не трудно, прикрутите компас к iphone версии чтобы можно было понять в какую сторону смотрит айфон. В родных картах на айфоне такое есть. То есть чтобы маркер, показывающий текущее положение на карте, являлся компасом.
Компас должен показывать направление взгляда сектором на кружочке текущего положения. Если у вас не работает (в 3G и iPod компасов нет), напишите, пожалуйста, в личку — попробуем помочь.
спасибо за ответ!
Оказывается у меня стояла прошлая версия, поставил текущую — компас появился и работает отлично.

Спасибо еще раз за приложение!
Спасибо за толковую заметку!
Всегда рад! Просто очень накипело, выели и мне и заказчику нервы. Погуглил, не нашёл на хабре статьи про это и решил отписаться
Когда приложение выходит в апдейт они уже более лояльно относятся к нему на ревью. Хотя бывают косяки. У меня как-то был реджект из-за того что в приложении продавалось > 10 шт in-app purchase по 1$ за раз. Их напрягло что их именно больше 10 шт. Попросили создать отдельный in-app purchase айтем с большей стоимостью, чтобы число приобретенных за раз айтемов не превышало 10-ку… :) Пришлось подчиниться. Благо они детально расписали почему и чем они недовольны.
Как на кого нарвёшься… я думаю в любой компании на техподдержке есть нормальные адекватные люди с соответствующим образованием, а есть домохозяйки. Особенно если брать многонациональность штатов, китайцы и индусы в основном атакуют вакансии QA и саппорта, т.е. вакансии с наименьшей ответственностью, и действуют там строго по инструкции. И если вдруг в инструкции встретят противоречие — всё… круто, ты попал на ТВ :)
>Такое явление, в частности, наблюдается со словарями Lingvo.

Автор прав, с одной поправкой: явление наблюдалось, но уже исправлено.

В связи с появлением iCloud и рекомендацией Apple мы сначала из /Documents перенесли словари в /Library/Caches, откуда они у части пользователей с завидным постоянством начали исчезать. Потом появился чудесный хак с Do Not Backup, благодаря которому словари вернулись в /Documents, но текущая версия приложения на 5.0.1+ их уже не теряет.
Спасибо за ценный совет! Так интересно, что на хабре тебе может ответить разработчик Lingvo… с детства пользуют вашим словариком с версии то ли 5, то ли 6, не знаю что бы без него делал!
А можно ли как-нибудь пометить данные чтобы «бэкапить их можно, но сихнронизировать с другими устройствами нельзя».

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

Как я понимаю, по дефолту файл базы данных будет синхронизироваться с другими устройствами через icloud, верно?
Всё так, но к сожалению флаг един — действует и на iTunes, и на iCloud.
Apple всё стандартизирует и загоняет в довольно жёсткие рамки. Конечно, в Вашем примере логично было бы ввести два разных флага.
А дороговато обходится тупость членов Review Team: если так с ними бодаться через техподдержку, то это будет стоить от 50$ за одно обращение, сверх бесплатного лимита 2 в год.
Есть вопросик еще: какую вы выбрали тему для дискуссии с техподдержкой?
К сожалению, общался сам заказчик (американец), я просто подготавливал для него текст, так что не могу ответить точно.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.