Ios 永久唯一设备标识符
是否有办法在卸载应用程序并重新安装后识别设备?我找到了可以获取UUID的地方,但在卸载应用程序后,UUID的值似乎发生了变化 当应用程序(或其他应用程序)运行时,此属性中的值保持不变 iOS设备上安装了来自同一供应商的应用程序。价值 当用户从中删除该供应商的所有应用程序时发生更改 然后重新安装其中一个或多个Ios 永久唯一设备标识符,ios,Ios,是否有办法在卸载应用程序并重新安装后识别设备?我找到了可以获取UUID的地方,但在卸载应用程序后,UUID的值似乎发生了变化 当应用程序(或其他应用程序)运行时,此属性中的值保持不变 iOS设备上安装了来自同一供应商的应用程序。价值 当用户从中删除该供应商的所有应用程序时发生更改 然后重新安装其中一个或多个 我安装了一个名为的应用程序,您无需创建帐户即可使用该应用程序,卸载后,删除iCloud数据,从iCloud注销。。。重新安装它时,我仍在应用程序中登录。我假设他们使用唯一的设备标识符?您知道
我安装了一个名为的应用程序,您无需创建帐户即可使用该应用程序,卸载后,删除iCloud数据,从iCloud注销。。。重新安装它时,我仍在应用程序中登录。我假设他们使用唯一的设备标识符?您知道如何实现这种机制吗?您可以在从设备卸载应用程序后,使用钥匙链服务来存储数据 有关钥匙链服务的更多参考,请检查此项 是的,这是可能的
#import "UICKeyChainStore.h"
AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[self getDeviceIdFromKeychain];
}
- (void)getDeviceIdFromKeychain
{
NSString *deviceID = [UICKeyChainStore stringForKey:@"KEY TO SAVE TO Keychain" service:nil];
// if vandorid from keychain is not nil
if (deviceID)
{
[[NSUserDefaults standardUserDefaults] setObject:deviceID forKey:@"deviceID"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
// else it goes for new vendorid and then stored it to keychan
else if (deviceID == (id)[NSNull null] || deviceID.length == 0 )
{
deviceID = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
[UICKeyChainStore setString:deviceID forKey:@"KEY TO SAVE TO Keychain" service:nil];
[[NSUserDefaults standardUserDefaults] setObject:deviceID forKey:@"deviceID"];
[[NSUserDefaults standardUserDefaults] synchronize];
// NSLog(@"VendorID Local - %@",deviceID);
}
}
ViewContoller.m
- (void)viewDidLoad
{
NSString *strDeviceId = [[NSUserDefaults standardUserDefaults]objectForKey:@"deviceID"];
}
谢谢,用户是否可以通过手动删除钥匙链数据来绕过此问题?@j.doe没有用户可以手动删除钥匙链数据。实际上,您可以通过删除设备并将其设置为新的方式来删除钥匙链数据;-)您手中仍然有相同的设备,但对于所有第三方应用程序和服务来说,它现在是一个全新的设备。请看我的问题-