identifierForVendor является не предполагается изменить на переустановку приложения:identifierForVendor изменения на переустановке
Значение в этом свойстве остается неизменным в то время как приложение (или другой приложение от того же производителя) устанавливается на устройство iOS. Значение изменяется, когда пользователь удаляет все приложения этого поставщика с устройства и затем переустанавливает один или несколько из них. Значение также изменяется при установке тестовых сборок с использованием Xcode или при установке приложения на устройстве, использующем ad-hoc-распространение. Поэтому, если ваше приложение сохраняет значение этого свойства в любом месте, вы должны изящно обрабатывать ситуации, в которых изменяется идентификатор.
https://developer.apple.com/reference/uikit/uidevice/1620059-identifierforvendor
Однако, я только что проверил это с одним из наших живых приложений на App Store. Даже если ряд других наших приложений все еще установлен на устройстве, если я переустанавливаю приложение A, UUID, возвращаемый из идентификатораForVendor, изменяется каждый раз.
Это было не так.
Это работало. Но в какой-то момент UUID, похоже, начал менять «простые переустановки» (как указано выше). Это известная ошибка? Известно ли, что идентификатор ForVendor нарушен в сравнении с приведенной выше документацией? Любые обходные пути (кроме сохранения UUID для связки ключей, потому что этот метод ломается с синхронизацией iCloud)?
Сохраните идентификатор ForVendor или пользовательский UUID в KeyChain. См.: [Как сохранить идентификаторForVendor в ios после удаления приложения ios на устройстве?] (Http://stackoverflow.com/questions/21878560/how-to-preserve-identifierforvendor-in-ios-after-uninstalling-ios-app- on-device% 3E) –
Позвольте мне процитировать меня «кроме сохранения UUID для брелка, потому что этот метод ломается с синхронизацией iCloud». Ну, этот метод может работать в некоторых случаях. Это означает, что он не будет работать во всех ** случаях. – Jonny
Вы можете сделать привязку к цепочке ключей привязанной к устройству (предостережение: я вспомнил это из видео WWDC и пошел искать ресурсы - у меня не было необходимости явно проверить это самостоятельно). https://www.andyibanez.com/using-ios-keychain/ и https://developer.apple.com/library/ios/documentation/Security/Reference/keychainservices/index.html#//apple_ref/doc/constant_group/Keychain_Item_Accessibility_Constants –