MobileFirst 8迁移:如何在iOS中生成相同的设备UUID

MobileFirst 8迁移:如何在iOS中生成相同的设备UUID,ios,cordova,ibm-mobilefirst,Ios,Cordova,Ibm Mobilefirst,我们尝试从Worklight 6.2.0.01.20161110-0936迁移到MobileFirst 8应用程序 但是我们遇到了一个问题,在迁移之后必须使用相同的设备UUID 根据: 我们知道WL.Device.getID和Device.uuid在Android中是不相等的 我们可以在Android MobileFirst 8应用程序中使用相同的代码生成相同的设备UUID 但我们不知道如何在iOS中生成相同的设备UUID 问题:迁移后如何获得相同的ios设备UUID?自己找到了解决方案: W

我们尝试从Worklight 6.2.0.01.20161110-0936迁移到MobileFirst 8应用程序

但是我们遇到了一个问题,在迁移之后必须使用相同的设备UUID

根据:

我们知道WL.Device.getID和Device.uuid在Android中是不相等的

我们可以在Android MobileFirst 8应用程序中使用相同的代码生成相同的设备UUID

但我们不知道如何在iOS中生成相同的设备UUID


问题:迁移后如何获得相同的ios设备UUID?

自己找到了解决方案:

Worklight 6.2版本将设备UUID存储在密钥链中

您需要在Xcode功能中启用密钥链共享

并将worklight.group添加到密钥链组

然后您可以使用“WLUUID”作为密钥链项目标识符

例如:

NSString *keychainItemIdentifier = @"WLUUID";
KeychainItemWrapper *keychain = [[KeychainItemWrapper alloc] 
           initWithIdentifier:keychainItemIdentifier accessGroup:nil];
id item =[keychain objectForKey:@"v_Data"];
NSLog(@"Device UUID : %@",item);
您可以得到以下结果:


我自己找到了解决方案:

Worklight 6.2版本将设备UUID存储在密钥链中

您需要在Xcode功能中启用密钥链共享

并将worklight.group添加到密钥链组

然后您可以使用“WLUUID”作为密钥链项目标识符

例如:

NSString *keychainItemIdentifier = @"WLUUID";
KeychainItemWrapper *keychain = [[KeychainItemWrapper alloc] 
           initWithIdentifier:keychainItemIdentifier accessGroup:nil];
id item =[keychain objectForKey:@"v_Data"];
NSLog(@"Device UUID : %@",item);
您可以得到以下结果:


获取的另一种方法是使用“WLDeviceAuthManager.h”的“getWLUniqueDeviceId”API。

获取的另一种方法是使用“WLDeviceAuthManager.h”的“getWLUniqueDeviceId”API