Как минимум одна из фич iOS реализована действительно хорошо — это системное резервное копирование, и всё, что связано с автоматическим переносом данных при переезде с одного iPhone на другой.

Что бы ни случилось с вашим устройством, сломалось ли оно, или его украли, все ваши данные — от заметок и фотографий до установленных приложений и всех выполненных в них настроек — всегда останутся в целости и сохранности, если только у вас достаточно свободного места в iCloud. Буквально в несколько простых действий вы легко вернёте в точности всё, как оно было.

Это же актуально, если вы просто решили обновиться на более новую модель iPhone — кладём старое и новое устройство рядом на часок-другой, и вуаля, вот вам совершенно бесшовный переезд!

Однако в случае с некоторыми iOS-приложениями старания Apple внезапно разбиваются о небрежность их разработчиков. Именно с этим я недавно столкнулся, выполнив перенос данных со своего старого iPhone на новый, и много где результаты оказались довольно печальными. Вот вам лишь несколько примеров…

  • Telegram. ? Приложение сбросило абсолютно все свои настройки, в том числе выбросило меня из учётной записи. И если разлогин я ещё могу как-то связать с некими соображениями безопасности, хотя даже так он продолжает вызывать у меня вопросы, то почему потерялись все выставленные мной настройки приложения? Их там довольно много, и проходить по ним с нуля было не слишком приятно.

  • YouTube. Опять-таки разлогин. Но здесь хотя бы не потерялись настройки.

  • Тинькофф. ? Вот здесь совсем плохо. При запуске приложение показывает свой штатный экран блокировки, но больше не пускает внутрь ни по Touch/Face ID, ни по корректному код-паролю. Итого, перед пользователем с виду штатно функционирующее приложение, но им невозможно воспользоваться, нельзя никак попасть внутрь. Причём не получается даже выйти из учётной записи, чтобы вручную перелогиниться — только полная переустановка, только хардкор.

  • Freedom Finance. Приложение совсем упоролось и начало стабильно падать при каждом запуске. Единственное решение — опять-таки ручная переустановка.


Тут возникает закономерный вопрос — почему так получается, и что с этим делать?

Во-первых, не игнорируйте столь важную системную фичу. Ваши пользователи плюс-минус гарантированно сталкиваются с ней раз в несколько лет, когда обновляются на новое поколение iPhone, и описанное, например, выше поведение Т-Банка совершенно неприемлемо. Не поленитесь — возьмите парочку тестовых устройств и проверьте, насколько корректно ваши приложения переживают восстановление iOS из iCloud и автоматический перенос данных между устройствами.

Во-вторых, обратите внимание на следующие аспекты…

  • Device ID. Если вы используете для каких-то целей идентификатор физического устройства, будьте готовы, что он может внезапно измениться.

    Подозреваю, что в случае с Тинькофф Банком собака наверняка зарыта именно здесь. Код-пароль для разблокировки приложения хранится в виде его хеш-суммы, подписанной дополнительно идентификатором устройства. В итоге на новом iPhone приложение думает, что всё хорошо, однако разблокировать его правильным кодом или корректной биометрией оказывается уже невозможно.

  • NSURLIsExcludedFromBackupKey. Этот ключ позволяет умышленно исключить ресурс из бэкапов и автоматического переноса данных между устройствами. Он может быть действительно полезен в некоторых связанных с безопасностью и конфиденциальностью сценариях, но пользоваться им нужно аккуратно.

  • File Manager. Операционная система успешно забэкапит или перенесёт большинство штатных директорий вашего приложения, однако не обессудьте, если вы вдруг почему-то используете сомнительные решения и храните, например, постоянные данные во временных папках или среди кэша.


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

Большое спасибо!

Комментарии (6)


  1. wery0
    22.12.2024 11:30

    И тут возникает закономерный вопрос — почему так получается, что с этим делать

    Sell ios, buy android. As simple as that!


  1. dimaaannn
    22.12.2024 11:30

    То есть вы не видите закономерности в том, что все эти программы перестали работать из за ограничений системы безопасности?

    Вам бы хотелось чтобы человек получивший доступ к вашему телефону автоматически получал в комплекте все аккаунты и финансы?


    1. debug45 Автор
      22.12.2024 11:30

      Закономерность, возможно, действительно есть. Но я не очень понимаю, как «человек, получивший доступ к вашему телефону, автоматически получает в комплекте все аккаунты и финансы».

      И для восстановления из iCloud, и для переноса данных на другое устройство, нужно знать Apple ID, пароль от него, код двухфакторной аутентификации и код разблокировки оригинального устройства. Не «или», а именно «и» — нужно знать сразу всё. Разве это не даёт достаточных оснований полагать, что данные в таких случаях переносятся именно по воле владельцев?


      1. K0styan
        22.12.2024 11:30

        Нет. Потому что двухфакторка и код разблокировки могут у кого-то быть не установлены, а единственный барьер в виде пароля iCloud - слишком хилая защита.

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


        1. debug45 Автор
          22.12.2024 11:30

          Двухфакторная аутентификация у Apple уже несколько лет принудительная, если не ошибаюсь


  1. rustik23
    22.12.2024 11:30

    У меня при переносе некорректно перенеслось FaceTime и теперь на новом айфоне на последней прошивке не запускается, вернее не устанавливается.

    Может кто то сталкивался?