Изменяется ли UUID в некоторых случаях

Я использую устройство пользователя UUID для получения уникального устройства.

NSString  *currentUUIDString = [[[UIDevice currentDevice] identifierForVendor] UUIDString];

Я знаю, что UUID изменяется, если приложение удаляется/переустанавливается (документ Apple).

Но меняется ли UUID для следующих случаев?

  1. Если приложение было обновлено. (Найден тот же вопрос)
  2. Если устройство OS version было обновлено.
  3. Если сделать iCloud/iTunes резервное копирование и восстановление.
  4. Если устройство было сброшено. (В этом случае я думаю, что хранилище UUID Keychain не будет работать. Я думаю, хранилище цепочки для ключей также очищается.)

Изменить:

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


person Kirti Nikam    schedule 29.06.2015    source источник
comment
1,2,4 не меняется, а номер 3 меняется. Проверьте мой ответ [здесь][1]. [1]: stackoverflow.com/a/30936929/4145420   -  person mgyky    schedule 29.06.2015
comment
comment
@gyer Спасибо за ваш комментарий. Это не дубликат, этот вопрос связан с тем, как однозначно идентифицировать устройство. Но этот вопрос связан с частотой смены UUID и сценариями, в которых он может меняться.   -  person Kirti Nikam    schedule 29.06.2015
comment
Почему бы не проверить это и посмотреть, что произойдет? Обновление приложения или восстановление из iTunes — это то же самое, что и переустановка. Если устройство сбрасывается, вы имеете в виду сброс настроек к заводским, тогда да. Если вы имеете в виду выключение устройства, а затем включение, то нет. Но лучший способ в этом сценарии — просто проверить себя.   -  person Tim    schedule 29.06.2015
comment
@Джефф Спасибо за ваш комментарий. Все, что было возможно с моей стороны, я уже сделал с ним. Но описанные выше случаи, такие как резервное копирование/восстановление iTunes/iCloud, обновление ОС или сброс настроек к заводским, с моей стороны выполнить невозможно. Если кто-то уже сделал с этим, то это будет легко продолжить.   -  person Kirti Nikam    schedule 29.06.2015
comment
Сброс к заводским настройкам гарантированно изменит идентификатор поставщика, поскольку впоследствии приложение необходимо будет переустановить.   -  person Tim    schedule 29.06.2015
comment
stackoverflow сказал слишком много «дубликатов».. Я также часто получаю эти предупреждения, даже если вопросы не дублируются.. stackoverflow должен исправить это..   -  person Kang Byul    schedule 13.01.2017


Ответы (2)


Да

Идентификатор устройства ForVendor — отличный способ идентифицировать устройство. Это изменится, если приложение (и все приложения от одного и того же разработчика) будет удалено с устройства и переустановлено. Это не зависит от соединений Wi-Fi/Bluetooth. За исключением прошлогодней ошибки, она не меняется с операционными системами. ...... Вы также можете записать свой собственный UUID в цепочку для ключей, который выдержит удаление / переустановку приложения ... Вы также можете записать что-то в файл значения ключа iCloud пользователя. Это будет зависеть от пользователя, а не от устройства. Он также выживает при удалении/переустановке. Я думаю, это то, что вы хотите.

person Jogendar Choudhary    schedule 16.04.2018

Оно не изменится до тех пор, пока вы не удалите и не установите приложение снова.

person Daniis1infiniteloop    schedule 05.10.2020