我需要从手机中获取NSString格式的deviceUUID。现在我有了这个:
NSString *deviceId = [UIDevice currentDevice].identifierForVendor;因为我之前所拥有的,就是:
NSString *deviceId = [UIDevice currentDevice].uniqueIdentifier;现在给了我一个错误。
但在第一句话中,我得到了一个警告:
Incompatible pointer types initializing 'NSString *' with an expression of type 'NSUUID *'发布于 2014-02-12 16:54:07
正如错误所告诉您的,identifierForVendor返回NSUUID类的对象,而不是NSString。
如果您需要NSString,请使用以下代码:
NSUUID *identifierForVendor = [[UIDevice currentDevice] identifierForVendor];
NSString *deviceId = [identifierForVendor UUIDString];发布于 2014-08-05 15:00:00
对于正在寻找如何将NSUUID转换为NSString的任何人
ObjC
NSString *uuid = [[NSUUID UUID] UUIDString];斯威夫特
NSUUID().UUIDStringSwift 3
UUID().uuidString发布于 2014-02-12 16:53:09
编辑:作为OP的要求我重新打开我删除的答案,我在这里提到@Matthias的答案是正确的,通过使用以下代码,每当运行此代码时,您都会获得新的device_id。
使用以下代码:
CFUUIDRef uuidRef = CFUUIDCreate(kCFAllocatorDefault);
NSString *uuidString = (NSString *)CFBridgingRelease(CFUUIDCreateString(NULL,uuidRef));
CFRelease(uuidRef);
NSLog(@"%@", uuidString);https://stackoverflow.com/questions/21722841
复制相似问题