首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSUUID到NSString

NSUUID到NSString
EN

Stack Overflow用户
提问于 2014-02-12 16:50:46
回答 3查看 26.4K关注 0票数 22

我需要从手机中获取NSString格式的deviceUUID。现在我有了这个:

代码语言:javascript
复制
NSString *deviceId = [UIDevice currentDevice].identifierForVendor;

因为我之前所拥有的,就是:

代码语言:javascript
复制
NSString *deviceId = [UIDevice currentDevice].uniqueIdentifier;

现在给了我一个错误。

但在第一句话中,我得到了一个警告:

代码语言:javascript
复制
Incompatible pointer types initializing 'NSString *' with an expression of type 'NSUUID *'
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-02-12 16:54:07

正如错误所告诉您的,identifierForVendor返回NSUUID类的对象,而不是NSString。

如果您需要NSString,请使用以下代码:

代码语言:javascript
复制
NSUUID *identifierForVendor = [[UIDevice currentDevice] identifierForVendor];
NSString *deviceId = [identifierForVendor UUIDString];
票数 63
EN

Stack Overflow用户

发布于 2014-08-05 15:00:00

对于正在寻找如何将NSUUID转换为NSString的任何人

ObjC

代码语言:javascript
复制
NSString *uuid = [[NSUUID UUID] UUIDString];

斯威夫特

代码语言:javascript
复制
NSUUID().UUIDString

Swift 3

代码语言:javascript
复制
UUID().uuidString
票数 26
EN

Stack Overflow用户

发布于 2014-02-12 16:53:09

编辑:作为OP的要求我重新打开我删除的答案,我在这里提到@Matthias的答案是正确的,通过使用以下代码,每当运行此代码时,您都会获得新的device_id。

使用以下代码:

代码语言:javascript
复制
CFUUIDRef uuidRef = CFUUIDCreate(kCFAllocatorDefault);
NSString *uuidString = (NSString *)CFBridgingRelease(CFUUIDCreateString(NULL,uuidRef));
CFRelease(uuidRef);
NSLog(@"%@", uuidString);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21722841

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档