Изменяется ли UIDevice.current.identifierForVendor после резервного копирования и восстановления iCloud на другом устройIOS

Программируем под IOS
Ответить
Anonymous
 Изменяется ли UIDevice.current.identifierForVendor после резервного копирования и восстановления iCloud на другом устрой

Сообщение Anonymous »

Вопрос
Я пытаюсь понять, как ведет себя UIDevice.current.identifierForVendor, когда приложение iOS восстанавливается из резервной копии iCloud на другое физическое устройство.
Контекст
Я разрабатываю приложение iOS, которое должно определять, когда оно запускается на вновь восстановленном устройстве (например, после того, как пользователь настраивает новый iPhone из резервной копии iCloud).
Для этого я сохраняю значение:
UIDevice.current.identifierForVendor?.uuidString
в постоянном хранилище (например, UserDefaults) и сравниваю его при следующем запуске, чтобы увидеть, изменилось ли оно.
Вопрос
Если я установлю свое приложение на устройстве A, сохраню его идентификатор для поставщика, создам резервную копию в iCloud,
а затем восстановлю эту резервную копию на устройстве B, будет ли восстановленное приложение на устройстве B видеть тот же идентификатор или новый?
В частности:
Выполняется ли резервное копирование iCloud или при миграции устройства сохраняется значение идентификатораForVendor?
Привязывается ли IDFV только к префиксу поставщика (идентификатору пакета) или также к аппаратному обеспечению физического устройства?
Что произойдет, если пользователь удалит все приложения этого поставщика и переустановит или восстановит их позже?
Цель
Я хочу знать, безопасно ли и надежно ли использовать идентификаторForVendor для определения того, когда приложение было восстановлено на другом устройстве — например, чтобы инициировать обновление токена Firebase в моей серверной части при изменении устройства пользователя.
Что я уже нашел
В документации Apple
сказано:
Значение этого свойства одинаково для приложений от одного и того же поставщика, работающих на одном и том же устройстве.
Если пользователь удаляет все приложения этого производителя с устройства, а затем переустанавливает одно или несколько из них, значение может измениться.
Однако здесь не указано четко, что происходит после восстановления резервной копии iCloud. на другое физическое устройство.
Я видел противоречивые результаты на форумах — некоторые разработчики сообщают об изменениях, другие говорят, что они могут сохраняться при определенных методах миграции.
TLDR;
После восстановления iCloud на другое физическое устройство UIDevice.current.identifierForVendor остается прежним или меняется?

Подробнее здесь: https://stackoverflow.com/questions/797 ... nd-restore
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»