永久唯一设备标识符

7 浏览
0 Comments

永久唯一设备标识符

卸载应用并重新安装后,是否有一种方法可以识别设备?我在这个问题上找到了一些相关的讨论,其中提到可以获取设备的UUID,但是似乎在卸载应用后UUID的值会发生变化。

当在iOS设备上安装了该应用(或者同一供应商的其他应用)时,该属性的值保持不变。当用户删除设备上该供应商的所有应用,并随后重新安装其中一个或多个应用时,该值会发生变化。

我安装了一个名为Jodel的应用,使用该应用时不需要创建账号。在卸载应用、删除iCloud数据、退出iCloud登录...然后重新安装应用后,我发现我仍然处于登录状态。我猜他们可能使用了一个唯一的设备标识符?你有想法如何实现这样的机制吗?

0
0 Comments

永久唯一设备标识符(Permenant unique device identifier)是一个用于识别设备的标识符。然而,近期出现了一些问题,导致该标识符无法长期保存和保持唯一性。以下是这个问题的出现原因和解决方法。

问题的出现原因:

在设备上卸载应用程序后,使用Keychain Service存储的数据可能会被删除,导致永久唯一设备标识符无法长期保存。

解决方法:

为了解决这个问题,可以使用Keychain Service来存储数据,即使在设备上卸载应用程序后,数据仍然可以保留。以下是如何使用Keychain Service的参考链接:

https://developer.apple.com/documentation/security/keychain_services

通过使用Keychain Service,可以确保永久唯一设备标识符在应用程序被卸载后仍然存在,并且保持唯一性。这样,开发人员可以在设备上重新安装应用程序时,仍然能够使用之前生成的永久唯一设备标识符。

通过上述解决方法,开发人员可以解决永久唯一设备标识符无法长期保存和保持唯一性的问题,确保在设备上卸载应用程序后,仍然能够使用之前生成的标识符。这对于需要使用设备标识符进行用户识别或其他目的的应用程序非常重要。

0
0 Comments

Permenant unique device identifier(永久唯一设备标识符)是一个用于识别设备的唯一标识符。该问题的出现原因是为了保证设备的唯一性和持久性,以便在不同的应用和服务中准确地识别设备。

解决方法是使用UICKeyChainStore类来保存和获取设备的唯一标识符。在AppDelegate.m文件中的`getDeviceIdFromKeychain`方法中,首先尝试从Keychain中获取设备标识符。如果Keychain中已经存在设备标识符,则将其保存到NSUserDefaults中。如果Keychain中不存在设备标识符,则使用`identifierForVendor`方法生成一个新的设备标识符,并将其保存到Keychain和NSUserDefaults中。在ViewContoller.m文件中,通过NSUserDefaults获取设备标识符。

需要注意的是,用户无法通过手动删除Keychain数据来绕过设备标识符的获取。即使用户擦除设备并将其设置为新设备,对于第三方应用和服务来说,它仍然被视为一个全新的设备。这确保了设备标识符的持久性和唯一性。

以上就是Permenant unique device identifier问题的出现原因以及解决方法的整理。通过使用UICKeyChainStore类来保存和获取设备标识符,可以确保设备的唯一性和持久性,从而准确地识别设备。

0