即使卸载了应用并再次重新安装,有没有办法识别设备?我发现topics可以获得UUID,但是在卸载应用后,UUID的值似乎发生了变化
此应用程序(或其他应用程序)中此属性的值保持不变 iOS设备上安装了来自同一供应商的应用程序。价值 当用户从中删除所有该供应商的应用程序时更改 设备,然后重新安装其中一个或多个。
我安装了一个名为Jodel的应用,您无需创建帐户即可使用该应用,卸载后,删除iCloud数据,从iCloud注销...重新安装我是仍然在应用程序中登录。我假设他们使用唯一的设备标识符?您是否知道如何实施此类机制?
答案 0 :(得分:1)
您可以使用钥匙串服务在从设备卸载应用后仍然存储数据。
有关钥匙串服务的更多参考,请查看此
https://developer.apple.com/documentation/security/keychain_services
答案 1 :(得分:1)
是的,它可能
#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"];
}